ADF selectonechoice valuebinding called twice

Does anyone have any idea why the valuebinding method of an ADF SelectOneChoice component would be called twice? I have one drop down with values and when I select something in that drop down the valuebinding for the second drop down is called twice, when it should only be called once. Any help would be appreciated.

Hi,
what is the refresh setting of the region binding in the page's PageDef file? Put a print statement to the task flow initializer to verify the region is executed twice
Frank

Similar Messages

  • ADF Faces: dialog framework calls  twice prepareModel and prepareRender

    Hi ,
    does anybody know why ADF Faces dialog framework calls twice prepareModel and prepareRender lifecycle methods . That's a really problem for me because i'm calling db procedures through backing beans methods which are attached on components properties.
    I cannot allow myself to cal the procedures more than once.
    Can somebody help me?
    Krasi

    Okay, although the servlet doesn't require to be run inside the JSF context, I added "/faces" to the URL simply because this would allow me to query the "postback" flag. In other words, I changed the invocation URL from "/jrrun" to "/faces/jrrun".
    In the servlet's "service()" method I put:
    logger.debug(">>>>>> isPostBack? " + AdfFacesContext.getCurrentInstance().isPostback());
    I also attached a JSF PhaseListener to the whole thing.
    Then I opened the parent page, I clicked on the button and the dialog appeared. The console output follows:
    07/01/19 21:37:05 ------------- start of phase RESTORE_VIEW 1
    07/01/19 21:37:05 ------------- end of phase RESTORE_VIEW 1
    07/01/19 21:37:05 ------------- start of phase RENDER_RESPONSE 6
    2007-01-19 21:37:05,156 - DEBUG - >>>>>> RunJasperReport: beginning
    2007-01-19 21:37:05,156 - DEBUG - >>>>>> isPostBack? false
    2007-01-19 21:37:05,156 - DEBUG - >>>>>> RunJasperReport: repPath=/reports/newRegByBusType_Report.jasper
    2007-01-19 21:37:07,047 - DEBUG - >>>>>> RunJasperReport: report output (PDF) was generated successfully. Its total size is 59596 bytes.
    2007-01-19 21:37:07,047 - DEBUG - >>>>>> RunJasperReport: done
    07/01/19 21:37:07 ------------- end of phase RENDER_RESPONSE 6
    07/01/19 21:37:09 ------------- start of phase RESTORE_VIEW 1
    07/01/19 21:37:09 ------------- end of phase RESTORE_VIEW 1
    07/01/19 21:37:09 ------------- start of phase RENDER_RESPONSE 6
    2007-01-19 21:37:09,625 - DEBUG - >>>>>> RunJasperReport: beginning
    2007-01-19 21:37:09,625 - DEBUG - >>>>>> isPostBack? false
    2007-01-19 21:37:09,625 - DEBUG - >>>>>> RunJasperReport: repPath=/reports/newRegByBusType_Report.jasper
    2007-01-19 21:37:09,672 - DEBUG - >>>>>> RunJasperReport: report output (PDF) was generated successfully. Its total size is 59596 bytes.
    2007-01-19 21:37:09,688 - DEBUG - >>>>>> RunJasperReport: done
    07/01/19 21:37:09 ------------- end of phase RENDER_RESPONSE 6
    By the way, partialSubmit="true" has the same effect as partialSubmit="false".
    I'm not sure I understand you correctly. Or perhaps you don't understand me correctly.
    I haven't got a problem with the parent page. I have a problem with the dialog page. It's executed twice. The RENDER_RESPONSE phase (as well as the RESTORE_VIEW phase) is executed twice.
    I want it to be executed only once. I don't want the servlet to be executed twice.
    Let me point out again that in the Embedded OC4J (inside JDeveloper) everything is okay. The servlet is executed only once. However, the same thing on OAS 10.1.3.1 runs twice.

  • PrepareForDML method called twice

    Have implemented a typical scenario (search - add - edit jspx pages).
    Within one application module, one view object with dynamically created where criterion is used for searching, and another view object fetching at most one row is used for inserting/updating. The second view object is based on a join of an updatable entity (that has as primary key trigger-generated sequence number) and several referenced readable entities that bring descriptions of the codes of the updatable entity. Have implemented descriptions as output fields in the jspx, settign partialTriggers to the id of the code-field of the updatable entity having autoSubmit=true. Have concentrated business validation logic within the prepareForDML() of the updatable entity implementation.
    Under normal conditions, it works fine.
    Under heavy system load in production, or testing with ADF State Management enabled at work environment, I observe the prepareForDML() called twice instead of once.
    Thus, the first time the insert is commited, the second time the validation rollback, and at last the whole transaction is rollbacked.
    When I commented-out all the fields that bring descriptions and set all autoSubmit=false, prepareForDML() was called once.
    However, my problem is that I have to bring the descriptions, that result from pop-up windows so that the end-user can see them after selecting sthg on his/er screen.
    Why is prepareForDML() called twice, and how can I avoid this?

    (2) Can't change the second trigger-assigned field from DBSequence to simply Number since the Entity Object Editor hides the tab Sequence to declare the sequence from which to get this field's value after insert.
    Please see section "6.6.3.8 Trigger-Assigned Primary Key Values from a Database Sequence" of the ADF Developer's Guide for Forms/4GL Developers on the ADF Learning Center at http://www.oracle.com/technology/products/adf/learnadf.html for more information on this. The "Sequence" tab doesn't have any runtime behavior influence. The sequence number is not assigned by ADFBC, it is assigned by your trigger. ADFBC only worries about:
    1) Providing a temporary unique negative key so that new detail rows can have a temporary foreign key value to point at until the transaction commits
    2) Refreshing the entity object's primary key value from the database-trigger assigned sequence number (however, we really don't know how the trigger populated the value) Theoretically, it may or may not have used a database sequence to assign the number. It would work just the same at the ADFBC level)
    3) Refreshing the temporary negative foreign key values in newly-created detail rows for new, composed details of the new composing master row with the definitive primary key value.
    So, you should safely be able to change this to a Number, with its Refresh after Insert property set.
    (3) Create() on entity implementation was always called once at page load, unexpectedly prepareForDML() always carried on two consequtive rows (either the new row to insert twice or the query's first row retrieved to update and afterwards the new row to insert) having State Management enabled.
    If create() is being called only once, then next you should check the value of the "operation" flag that is passed to prepareForDML() to understand if the method is being called for DML_INSERT or DML_UPDATE. Perhaps somehow an existing row is being inadvertently updated so one of the calls to prepareForDML() might be an update? I don't understand how prepareForDML() could fire twice for two new entity objects if the entity object's create() method is only called once. If you have a testcase that illustrates this, please report it to Worldwide Support via Metalink so they can triage and file a bug for you on it.
    (4) Swapping selectInputText components with SelectOneChoice, thus avoiding the partial page rendering, I managed prepareForDML() to function logically so that to have only one row to insert, but again since I have validation code in my entity implementation that throws JBO-exceptions, another problem occured. The first time the end-user receives an exception (e.g. invalid Tax Number), the second time he/she corrects it, the created row instance at prepareForDML() doesn't get updated with the new valid Tax Number, but continues to hold the old value at second run. To remind that if insert is successful the navigation moves on to the update page, otherwise it remains at the same (navigation outcome is null).
    Are you absolutely sure in this case that a second new row is not getting created?

  • OutputLabes, values in selectOneChoice are appearing twice in the jspx page

    Hi All,
    In a Jspx Page, there are two menu tabs. Each Tab has a PanelForm and each panelform has certain components.
    By default the first panelform in the first tab will be shown on page load and while clicking on second tab, the second panelform will be shown.
    The first panelform has three selectonechoices and three command buttons.
    If i click on reset button, these 3 selectonechoices are set to null by backing bean.
    Here comes the problem, after clicking on reset, if you click on second tab where the second panel form available, certain components like outputLabel and the values in selectOnechoice, are appearing twice on the page.
    Can anyone suggest me how to get rid of this problem..
    Here is my Jspx Page..
    <?xml version='1.0' encoding='windows-1252'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:af="http://xmlns.oracle.com/adf/faces"
    xmlns:afh="http://xmlns.oracle.com/adf/faces/html">
    <jsp:output omit-xml-declaration="true" doctype-root-element="HTML"
    doctype-system="http://www.w3.org/TR/html4/loose.dtd"
    doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"/>
    <jsp:directive.page contentType="text/html;charset=windows-1252"/>
    <f:loadBundle basename="GeneralAdmin" var="gadmin"/>
    <f:loadBundle basename="HoldCapabilites" var="holdc"/>
    <f:view>
    <afh:html>
    <afh:head title="editManualProfileAttributes">
    <meta http-equiv="Content-Type"
    content="text/html; charset=windows-1252"/>
    <script type="text/javascript">
    function cancel() {
    var flag = false;
    flag=window.confirm('You want to discard the entered data');
    return flag;
    </script>
    </afh:head>
    <afh:body>
    <af:messages/>
    <h:form>
    <afh:tableLayout>
    <afh:rowLayout width="100%">
    <jsp:include page="/jsps/webutils/template/header.jsp"/>
    </afh:rowLayout>
    <afh:rowLayout>
    <afh:rowLayout width="100%">
    <af:menuPath>
    <af:commandMenuItem text="#{gadmin.admin}" action="adminHome"/>
    <af:commandMenuItem text="#{gadmin.epaAttr}" selected="true"/>
    </af:menuPath>
    </afh:rowLayout>
    </afh:rowLayout>
    <afh:rowLayout width="100%">
    <af:objectSpacer width="10" height="20"/>
    </afh:rowLayout>
    <afh:rowLayout halign="center" valign="bottom">
    <afh:cellFormat width="20%" height="20px" valign="bottom">
    <af:menuTabs>
    <af:commandMenuItem text="#{gadmin.epAttr}"
    action="#{EditManualProfileAttributes.firstTab}"
    binding="#{EditManualProfileAttributes.commandMenuItem2}"
    id="commandMenuItem2"/>
    <af:commandMenuItem text="#{gadmin.auditHistory}"
    action="#{EditManualProfileAttributes.secondTab}"
    binding="#{EditManualProfileAttributes.commandMenuItem1}"
    id="commandMenuItem1"/>
    </af:menuTabs>
    </afh:cellFormat>
    <afh:cellFormat styleClass="bottomLine" width="80%"
    height="20px" valign="bottom">
    <af:objectSpacer height="1" width="1"/>
    </afh:cellFormat>
    </afh:rowLayout>
    <afh:rowLayout width="100%">
    <af:objectSpacer width="100%" height="10"/>
    </afh:rowLayout>
    <af:panelForm id="panelForm1" width="100%"
    binding="#{EditManualProfileAttributes.panelForm1}">
    <afh:rowLayout width="100%">
    <afh:cellFormat width="15%">
    <af:outputText value="#{gadmin.mpAttr}"
    inlineStyle="font-family:Arial; font-size:9.0pt; font-weight:bold;"/>
    </afh:cellFormat>
    <afh:cellFormat width="85%">
    <f:verbatim>
    <hr align="left"
    style="border-width:2.0px; color:rgb(219,238,243);"/>
    </f:verbatim>
    </afh:cellFormat>
    </afh:rowLayout>
    <afh:rowLayout width="100%">
    <af:objectSpacer width="10" height="20"/>
    </afh:rowLayout>
    <afh:rowLayout width="100%">
    <afh:cellFormat width="5%"/>
    <afh:cellFormat width="15%">
    <af:outputText value="#{gadmin.refName}"
    styleClass="outputText"/>
    <af:outputText value=" * "
    inlineStyle="font-size:10.0pt; font-family:Arial; color:rgb(255,0,0);"/>
    </afh:cellFormat>
    <afh:cellFormat width="80%">
    <af:selectOneChoice id="navList1" autoSubmit="true" partialTriggers="commandButton2"
    valuePassThru="true" unselectedLabel="Select"
    binding="#{EditManualProfileAttributes.navList1}"
    valueChangeListener="#{EditManualProfileAttributes.getDetails}">
    <af:forEach var="li"
    items="#{bindings.GetRefNamesVO1.rangeSet}">
    <af:selectItem label="#{li.ReferenceName}"
    value="#{li.Id}"/>
    </af:forEach>
    </af:selectOneChoice>
    </afh:cellFormat>
    </afh:rowLayout>
    <afh:rowLayout width="100%">
    <af:objectSpacer width="10" height="10"/>
    </afh:rowLayout>
    <afh:rowLayout width="100%">
    <afh:cellFormat width="5%"/>
    <afh:cellFormat width="15%">
    <af:outputText value="#{gadmin.refId}"
    styleClass="outputText"/>
    <af:outputText value=" * "
    inlineStyle="font-size:10.0pt; font-family:Arial; color:rgb(255,0,0);"/>
    </afh:cellFormat>
    <afh:cellFormat width="15%">
    <af:selectOneChoice id="navList2" autoSubmit="true"
    partialTriggers="navList1 commandButton2"
    binding="#{EditManualProfileAttributes.navList2}"
    valueChangeListener="#{EditManualProfileAttributes.getColumns}">
    <af:forEach var="li"
    items="#{bindings.LookupRefTableVO1.rangeSet}">
    <af:selectItem label="#{li.LookupDesc}"
    value="#{li.LookupId}"/>
    </af:forEach>
    </af:selectOneChoice>
    </afh:cellFormat>
    <afh:cellFormat width="15%">
    <af:selectOneChoice id="navList3"
    binding="#{EditManualProfileAttributes.navList3}"
    partialTriggers="navList1 navList2 commandButton2">
    <af:forEach var="li"
    items="#{bindings.EditRefColumnVO1.rangeSet}">
    <af:selectItem label="#{li.DetailDesc}"
    value="#{li.DetailsId}"/>
    </af:forEach>
    </af:selectOneChoice>
    </afh:cellFormat>
    <afh:cellFormat width="50%"/>
    </afh:rowLayout>
    <afh:rowLayout width="100%">
    <af:objectSpacer width="10" height="10"/>
    </afh:rowLayout>
    <afh:rowLayout width="100%">
    <afh:cellFormat width="5%"/>
    <afh:cellFormat width="6%">
    <af:outputText value="#{gadmin.stDt}"
    styleClass="outputText" id="outputText1"
    binding="#{EditManualProfileAttributes.outputText1}"/>
    </afh:cellFormat>
    <afh:cellFormat halign="left">
    <af:outputText value=" * " id="outputText2"
    binding="#{EditManualProfileAttributes.outputText2}"
    inlineStyle="font-size:10.0pt; font-family:Arial; color:rgb(255,0,0);"/>
    </afh:cellFormat>
    <afh:cellFormat width="4%"/>
    <afh:cellFormat width="80%">
    <af:selectInputDate id="startDate"
    binding="#{EditManualProfileAttributes.startDate}"
    partialTriggers="navList1 commandButton1 commandButton2">
    <af:convertDateTime pattern="dd/MMM/yy"/>
    </af:selectInputDate>
    </afh:cellFormat>
    </afh:rowLayout>
    <afh:rowLayout width="100%">
    <af:objectSpacer width="10" height="10"/>
    </afh:rowLayout>
    <afh:rowLayout width="100%">
    <afh:cellFormat width="5%"/>
    <afh:cellFormat width="15%">
    <af:outputText value="#{gadmin.edDt}"
    styleClass="outputText" id="outputText3"
    binding="#{EditManualProfileAttributes.outputText3}"/>
    </afh:cellFormat>
    <afh:cellFormat width="80%">
    <af:selectInputDate id="endDate"
    binding="#{EditManualProfileAttributes.endDate}"
    partialTriggers="navList1 commandButton1 commandButton2">
    <af:convertDateTime pattern="dd/MMM/yy"/>
    </af:selectInputDate>
    </afh:cellFormat>
    </afh:rowLayout>
    <afh:rowLayout width="100%">
    <af:objectSpacer width="10" height="10"/>
    </afh:rowLayout>
    <afh:rowLayout width="100%">
    <afh:cellFormat width="20%"/>
    <afh:cellFormat width="7%">
    <af:commandButton text="#{gadmin.save}"
    action="#{EditManualProfileAttributes.save}"
    id="commandButton1"
    binding="#{EditManualProfileAttributes.commandButton1}"/>
    </afh:cellFormat>
    <afh:cellFormat width="7%">
    <af:commandButton text="#{gadmin.reset}"
    action="#{EditManualProfileAttributes.reset}"
    id="commandButton2"
    binding="#{EditManualProfileAttributes.commandButton2}"/>
    </afh:cellFormat>
    <afh:cellFormat width="7%">
    <af:commandButton text="#{gadmin.cancel}"
    id="commandButton3"
    binding="#{EditManualProfileAttributes.commandButton3}"
    action="adminHome"
    onclick="return cancel()"/>
    </afh:cellFormat>
    <afh:cellFormat width="59%"/>
    </afh:rowLayout>
    </af:panelForm>
    <af:panelForm id="panelForm2" rendered="false" width="100%"
    binding="#{EditManualProfileAttributes.panelForm2}">
    <afh:rowLayout width="100%">
    <afh:cellFormat width="15%">
    <af:outputLabel value="#{holdc.mpaAttr}" id="abc"
    inlineStyle="font-family:Arial; font-size:9.0pt; font-weight:bold;"/>
    </afh:cellFormat>
    <afh:cellFormat width="85%">
    <f:verbatim>
    <hr align="left"
    style="border-width:2.0px; color:rgb(219,238,243);"/>
    </f:verbatim>
    </afh:cellFormat>
    </afh:rowLayout>
    <afh:rowLayout width="100%">
    <af:objectSpacer width="10" height="20"/>
    </afh:rowLayout>
    <afh:rowLayout width="100%">
    <afh:cellFormat width="15%">
    <af:outputLabel value="#{holdc.refeName}"
    styleClass="outputText"/>
    <af:outputLabel value=" * "
    inlineStyle="font-size:10.0pt; font-family:Arial; color:rgb(255,0,0);"/>
    </afh:cellFormat>
    <afh:cellFormat width="85%">
    <af:selectOneChoice id="navList4" autoSubmit="true"
    unselectedLabel="Select"
    valuePassThru="true"
    binding="#{EditManualProfileAttributes.navList4}"
    valueChangeListener="#{EditManualProfileAttributes.getVersions}">
    <af:forEach var="li"
    items="#{bindings.AuditRefNamesVO1.rangeSet}">
    <af:selectItem label="#{li.ReferenceName}"
    value="#{li.Id}"/>
    </af:forEach>
    </af:selectOneChoice>
    </afh:cellFormat>
    </afh:rowLayout>
    </af:panelForm>
    </afh:tableLayout>
    </h:form>
    </afh:body>
    </afh:html>
    </f:view>
    </jsp:root>

    Hi Puthanampatti,
    Thanks a lot for your reply, but i am using JDev 10.1.3.3. There is no panelFormLayout component and i am not using that component.
    Even i am strange this duplicating of components and values in selectoneChoice occuring from past 2 days in the old file. I am wondering whether my file got corrupted by any sort.
    Regards,
    R N V Prasad

  • TreeSelectionListener  valueChanged() called twice on selecting TreeNode

    Hi All,
    This is a class which extends JTree class forms a Tree displaying employee information.Listener is written which should find the list of selected Employee nodes of tree component.
    The method valueChanged() of treeListener is getting called twice for every node selected. Please find the code.
    Is there any alternative to find the list of selected nodes when they are selected using mouse or shift key.
    Even I am facing this in case of row selection of JTable.The listener method is called twice. Could you please let me know your views and any tutorials or examples codes for handling such cases.
    public class TestingTreeModel extends JTree {
         //public vector myMOType;
         public TestingTreeModel() {
              super();
         public void setData(ArrayList testVOs) {
              // set the option of selecting multiple nodes
              this.getSelectionModel().setSelectionMode(
                   TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION);
              this.setRootVisible(false);
              setModel(rootTreeNode, testVOs);
              // DefaultTreeModel is used.
              this.setModel(new DefaultTreeModel(rootTreeNode));
              // Listener for selected nodes..
              MyTreeSelectionListener myTreeListener = new MyTreeSelectionListener();
              this.addTreeSelectionListener(myTreeListener);
    // which sets the data.
         public void setModel(DefaultMutableTreeNode rootNode, ArrayList empVOs) {
              if empVOs!= null && empVOs.size() > 0) {
                   Iterator empItr = empVOs.iterator();
                   while (neItr.hasNext()) {
                        Employee empVO = (Employee) empItr.next();
                        DefaultMutableTreeNode node =
                             new DefaultMutableTreeNode(empVO.getName());
                        rootNode.add(node);
    // Listener
         public class MyTreeSelectionListener implements TreeSelectionListener {
              public void valueChanged(TreeSelectionEvent evt) {
                   // Get all nodes whose selection status has changed     
                   System.err.println("Listener is called here check how many times");
                   getSelectedNodes(evt);
         private void getSelectedNodes(TreeSelectionEvent evt) {
              System.err.println("came inside getSelectedNodes");
              TreePath[] paths = evt.getPaths();
              // Iterate through all affected nodes
              System.err.println(" Length is " + paths.length);
              for (int i = 0; i < paths.length; i++) {
                   TreePath tp = paths;
                   Object[] o = tp.getPath();
                   for (int j = 0; j < o.length; j++) {
                        System.out.println(
                             "Class: " + o[j].getClass() + "; value: " + o[j]);
                        if (o[j] instanceof DefaultMutableTreeNode) {
                             Object uo = ((DefaultMutableTreeNode) o[j]).getUserObject();
                             if (uo != null) {
                                  System.out.println(
                                       "\tUser object class: "
                                            + uo.getClass()
                                            + "; value: "
                                            + uo);
         private ArrayList empIDList = new ArrayList();
         private DefaultMutableTreeNode rootTreeNode = null;
    Thanks in advance.

    Hi Arun,
    JDev version is Studio Edition Version 11.1.1.5.0.
    Yes, i do have value change listener on the CompanyName LOV. What is a parameter form? The LOV is defined on the page in the following way:
                                <af:selectOneChoice value="#{bindings.CompanyName.inputValue}"
                                                    required="#{bindings.CompanyName.hints.mandatory}"
                                                    shortDesc="#{bindings.CompanyName.hints.tooltip}"
                                                    id="soc1" autoSubmit="true"
                                                    unselectedLabel="--select--"
                                                    contentStyle="width:17em;"
                                                    binding="#{backingBeanScope.backing_Company.soc1}"
                                                    valueChangeListener="#{backingBeanScope.backing_Company.companyChangeListener}">
                                  <f:selectItems value="#{bindings.CompanyName.items}"
                                                 binding="#{backingBeanScope.backing_Company.si1}"
                                                 id="si1"/>
                                </af:selectOneChoice>

  • Is this a Bug?: FocusListener called twice

    Hey all,
    Im having this problem since realease 1.4.2_04.
    Folks, try this code:
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    public class FocusTest {
        public static void main(String[] args) {
            JFrame frame  = new JFrame("Focus test");
            final JTextField field1 = new JTextField("Test1");
            final JTextField field2 = new JTextField("Test2");
            field1.addFocusListener(new FocusAdapter(){
                public void focusGained(FocusEvent e){}
                public void focusLost(FocusEvent e){
                    if( !e.isTemporary() ){
                        System.out.println("ID: " + e.getID());
                        JOptionPane.showMessageDialog(null, "Focus lost in 1");
                        field1.requestFocus();
            frame.getContentPane().add(field1, BorderLayout.WEST);
            frame.getContentPane().add(field2, BorderLayout.CENTER);
            frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
            frame.setBounds(0,0,200,300);
            frame.show();
    } The problem is: when TF1 looses its focus, and is validated, then i force the focus to keep on TF1 by calling TF1.requestFocus(), somehow the event focusLsot is called twice for my TF.
    If i do not requestFocus() it work but I must force the focus on TF1.
    Im going nuts. Does anyonw apear to have this problems?? In old realeses, the same code work perfect. until 1.4.2 beta.
    Tks
    Bruno

    Hello all!
    I found out that somehow JDialog with requestfocus after, fires twice the lostFocus event. I dont know why. I opened a bug report so they can figure it out why is happaning.
    Tks folks!
    Bruno

  • HELP!!! why derived class's function  be called twice?

    I am a newbie to java.
    Recently I encounter a problem.
    I run the below file,the output is:
    output begin
    B.f called !!!!
    A.A called
    B.f called !!!!
    B.B called
    output end-
    My Question is :
    why B's f() be called twice?
    (In C++, A.f() will be called one time!)
    class A
    A()
    f();
    System.out.println("A.A called");
    int f()
    System.out.println("A.f called !!!");
    return 123;
    class B extends A
    B()
    f();          
    System.out.println("B.B called");
    int f()
    System.out.println("B.f called !!!!");
    return 456;
    public class Demo
    public static void main(String args[])
    B bobj = new B();
    -----------------------------------

    Hi,jsalonen:
    In the following code, variable i cann't be initialized properly.
        class A
             int i=0;
            A()
                f();
                System.out.println("A.A called");
                System.out.println("i="+i);
            int f()
                i=11;
                System.out.println("A.f called !!!");
                return 123;
        class B extends A
             int j;
            B()
                f();                  
                System.out.println("B.B called");
                System.out.println("j="+j);
                System.out.println("i="+i);
            int f()
                j=12;
                System.out.println("B.f called !!!!");
                return 456;
        public class Demo
            public static void main(String args[])
                B bobj = new B();
    output begin
    B.f called !!!!
    A.A called
    i=0 // BAD here
    B.f called !!!!
    B.B called
    j=12
    i=0 // BAD here
    output end -
    Although the question can be solved! I am still confused: why Java do this? when A's constructor call f(), B is still incomplete!!
    Java is a good language,but I dislike it on this
    Regards.
    Sunway

  • Method CreateChildren in ApplicationControllBar class called twice after setting dock=true

    Hi during creating of a custom ApplicationControllBar
    component in ActionScript I probably found a (nasty) bug?!
    package net.neijman.julia.jaContainers
    import mx.containers.ApplicationControlBar;
    public class JAApplicationControlBar2 extends
    ApplicationControlBar
    public function JAApplicationControlBar2(): void
    this.dock = true;
    super();
    override protected function createChildren(): void
    trace("CREATECHILDREN EXECUTED");
    When I am using my simple custom component in my application:
    <jaContainer:JAApplicationControlBar2 />
    The trace message trace("CREATECHILDREN EXECUTED"); is
    executed twice (meaning CreateChildren is called twice BUT ONLY
    AFTER SETTING dock = true (see constructor). When setting dock =
    false CreateChildren is executed once. I want to build a framework
    on the standard components (depending heavily on the
    CreateChildren-method).
    In other words, creating dynamic components in the docked
    ApplicationControlBar in the method CreateChildren results in a
    double placement in the DisplayList.
    Has anyone has a clue what's going wrong here? (my
    workarround for now is to start the createChildren method with
    removeAllChildren();)
    Thanks Tom Neijman

    Interesting. I would file it as a bug here:
    http://bugs.adobe.com/jira/secure/Dashboard.jspa
    And then see what happens. If it's not a bug, you'll probably
    get a decent reason why this occurs in the bug notes.
    matt horn
    flex docs

  • Why listener methods are getting called twice ?

    Hi Group,
    I have a doubt, i need to know logic behind it.
    Lets consider, JComboBox,
    For an item state change of JComboBox,
    itemStateChanged method gets called twice.
    Its similar with valueChanged getting called twice
    on List Selection Event.
    Why does it call twice ? Is there any way, I can
    have invocation only once (except flagging mechanism)?
    with regards,
    vikram.

    http://java.sun.com/j2se/1.3/docs/api/java/awt/event/ItemListener.html
    tells the following:
    public void itemStateChanged(ItemEvent e)
    Invoked when an item has been selected or deselected. The code written for this method performs the operations that need to occur when an item is selected (or deselected).
    So the listener is notified for both items: losing and gaining selection.
    If you are only interested in listening to either selection or deselection event you can check which was the cause for the method call by examing the ItemEvent parameter i.e. item_event.getStateChange() == ItemEvent.DESELECTED or ItemEvent.SELECTED and then decide whether you are interested in the event at all.
    I don't know how to stop JComboBox from launching both select and deselected events.

  • WDDOMODIFY is getting called twice.

    Hi,
    I am facing a problem where wddomodify is getting called twice when I am selecting a value from a drop down. While for other drop downs on the same view WDDOMODIFY is not even getting called. I would appreciate, if anyone of you can provide any info regarding the same.
    Thanks,
    Vishesh

    DATA LO_ND_IMPORTING_CREATE TYPE REF TO IF_WD_CONTEXT_NODE.
        DATA LO_EL_IMPORTING_CREATE TYPE REF TO IF_WD_CONTEXT_ELEMENT.
        DATA LS_IMPORTING_CREATE TYPE WD_THIS->ELEMENT_IMPORTING_CREATE.
        DATA LV_DOC_TYPE TYPE WD_THIS->ELEMENT_IMPORTING_CREATE-DOC_TYPE.
      navigate from <CONTEXT> to <IMPORTING_CREATE> via lead selection
        LO_ND_IMPORTING_CREATE = WD_CONTEXT->GET_CHILD_NODE( NAME = WD_THIS->WDCTX_IMPORTING_CREATE ).
      get element via lead selection
        LO_EL_IMPORTING_CREATE = LO_ND_IMPORTING_CREATE->GET_ELEMENT( ).
      get single attribute
        LO_EL_IMPORTING_CREATE->GET_ATTRIBUTE(
          EXPORTING
            NAME =  `DOC_TYPE`
          IMPORTING
            VALUE = LV_DOC_TYPE ).
         DATA LO_ND_IF_EDITABILITY TYPE REF TO IF_WD_CONTEXT_NODE.
         DATA LO_EL_IF_EDITABILITY TYPE REF TO IF_WD_CONTEXT_ELEMENT.
         DATA LV_EDIT_SUB_TYPE     TYPE WD_THIS->ELEMENT_IF_EDITABILITY-EDIT_SUB_TYPE.
         DATA LV_EDIT_PARENT       TYPE WD_THIS->ELEMENT_IF_EDITABILITY-EDIT_PARENT.
         DATA LV_DROPDOWN          TYPE REF TO CL_WD_DROPDOWN_BY_KEY.
         DATA LV_INPUTFIELD        TYPE REF TO CL_WD_INPUT_FIELD .
       navigate from <CONTEXT> to <IF_EDITABILITY> via lead selection
         LO_ND_IF_EDITABILITY = WD_CONTEXT->GET_CHILD_NODE( NAME = WD_THIS->WDCTX_IF_EDITABILITY ).
       get element via lead selection
         LO_EL_IF_EDITABILITY = LO_ND_IF_EDITABILITY->GET_ELEMENT( ).
         LO_EL_IF_EDITABILITY->GET_ATTRIBUTE(  EXPORTING   NAME =  `EDIT_SUB_TYPE`
                                               IMPORTING  VALUE = LV_EDIT_SUB_TYPE ).
         LO_EL_IF_EDITABILITY->GET_ATTRIBUTE(  EXPORTING   NAME =  `EDIT_PARENT`
                                               IMPORTING  VALUE = LV_EDIT_PARENT ).
          DATA LO_ND_FUNCTIONALITY TYPE REF TO IF_WD_CONTEXT_NODE.
          DATA LO_EL_FUNCTIONALITY TYPE REF TO IF_WD_CONTEXT_ELEMENT.
          DATA LS_FUNCTIONALITY TYPE WD_THIS->ELEMENT_FUNCTIONALITY.
          DATA LV_OPTION_CHANGED TYPE WD_THIS->ELEMENT_FUNCTIONALITY-OPTION_CHANGED.
          DATA LV_OPTION_SELECTED TYPE WD_THIS->ELEMENT_FUNCTIONALITY-OPTION_SELECTED.
        navigate from <CONTEXT> to <FUNCTIONALITY> via lead selection
          LO_ND_FUNCTIONALITY = WD_CONTEXT->GET_CHILD_NODE( NAME = WD_THIS->WDCTX_FUNCTIONALITY ).
        get element via lead selection
          LO_EL_FUNCTIONALITY = LO_ND_FUNCTIONALITY->GET_ELEMENT( ).
        get single attribute
          LO_EL_FUNCTIONALITY->GET_ATTRIBUTE(
            EXPORTING
              NAME =  `OPTION_CHANGED`
            IMPORTING
              VALUE = LV_OPTION_CHANGED ).
          LO_EL_FUNCTIONALITY->GET_ATTRIBUTE(
            EXPORTING
              NAME =  `OPTION_SELECTED`
            IMPORTING
              VALUE = LV_OPTION_SELECTED ).
      DATA LO_EL_CONTEXT TYPE REF TO IF_WD_CONTEXT_ELEMENT.
      DATA LS_CONTEXT TYPE WD_THIS->ELEMENT_CONTEXT.
      DATA LV_SET_STATE TYPE WD_THIS->ELEMENT_CONTEXT-SET_STATE.
    get element via lead selection
      LO_EL_CONTEXT = WD_CONTEXT->GET_ELEMENT( ).
    get single attribute
      LO_EL_CONTEXT->GET_ATTRIBUTE(
        EXPORTING
          NAME =  `SET_STATE`
        IMPORTING
          VALUE = LV_SET_STATE ).
      IF LV_SET_STATE = 'X'.
      IF LV_DOC_TYPE = 'ABC' AND LV_EDIT_SUB_TYPE IS INITIAL.
         LO_EL_IF_EDITABILITY->SET_ATTRIBUTE(
              NAME =  `EDIT_SUB_TYPE`
              VALUE = 'X' ).
          LV_DROPDOWN ?= VIEW->GET_ELEMENT('DRPDWN_SUBTYPE_CHANGE').
          CALL METHOD LV_DROPDOWN->SET_STATE
            EXPORTING
              VALUE  = 01
          ELSE.
          LO_EL_IF_EDITABILITY->SET_ATTRIBUTE(
              NAME =  `EDIT_SUB_TYPE`
              VALUE = '' ).
          LV_DROPDOWN ?= VIEW->GET_ELEMENT('DRPDWN_SUBTYPE_CHANGE').
          CALL METHOD LV_DROPDOWN->SET_STATE
            EXPORTING
              VALUE  = 00
        ENDIF.
        IF LV_EDIT_PARENT IS INITIAL AND
                    ( LV_DOC_TYPE = '123' OR LV_DOC_TYPE = 'qwerty').
          LO_EL_IF_EDITABILITY->SET_ATTRIBUTE(
              NAME =  `EDIT_PARENT`
              VALUE = 'X' ).
          LV_DROPDOWN ?= VIEW->GET_ELEMENT('DRPDWN_PARENT_CHNG_DOCTYPE').
          CALL METHOD LV_DROPDOWN->SET_STATE
            EXPORTING
              VALUE  = 01
          LV_INPUTFIELD ?= VIEW->GET_ELEMENT('IF_PARENT_CHNG_DOCNUM').
          CALL METHOD LV_INPUTFIELD->SET_STATE
            EXPORTING
              VALUE  = 01
          ELSE.
          LO_EL_IF_EDITABILITY->SET_ATTRIBUTE(
              NAME =  `EDIT_PARENT`
              VALUE = '' ).
          LV_DROPDOWN ?= VIEW->GET_ELEMENT('DRPDWN_PARENT_CHNG_DOCTYPE').
          CALL METHOD LV_DROPDOWN->SET_STATE
            EXPORTING
              VALUE  = 00
          LV_INPUTFIELD ?= VIEW->GET_ELEMENT('IF_PARENT_CHNG_DOCNUM').
          CALL METHOD LV_INPUTFIELD->SET_STATE
            EXPORTING
              VALUE  = 00
        ENDIF.
         LO_EL_CONTEXT->SET_ATTRIBUTE(     NAME =  `SET_STATE`
                                          VALUE =   ' ' ).
      ENDIF.
      LO_EL_CONTEXT->GET_ATTRIBUTE(
        EXPORTING
          NAME =  `SET_STATE`
        IMPORTING
          VALUE = LV_SET_STATE ).
          IF LV_OPTION_CHANGED = 'X' AND LV_OPTION_SELECTED = 'C'.
              DATA LO_ND_ZGGL TYPE REF TO IF_WD_CONTEXT_NODE.
              DATA LO_EL_ZGGL TYPE REF TO IF_WD_CONTEXT_ELEMENT.
            navigate from <CONTEXT> to <ZGGL_RICEFTOOL> via lead selection
              LO_ND_ZGGL = WD_CONTEXT->GET_CHILD_NODE( NAME = WD_THIS->WDCTX_ZGGL).
              LO_ND_ZGGL->INVALIDATE( ).
            get element via lead selection
              LO_EL_ZGGL = LO_ND_ZGGL->GET_ELEMENT( ).
              LO_ND_IMPORTING_CREATE->INVALIDATE( ).
              LO_EL_IMPORTING_CREATE = LO_ND_IMPORTING_CREATE->GET_ELEMENT( ).
              LO_EL_IMPORTING_CREATE->SET_ATTRIBUTE(      NAME =  `VISIBILITY_GROUP`
                                                         VALUE =   '2' ).
              LO_EL_IMPORTING_CREATE->SET_ATTRIBUTE(      NAME =  `VISIBILITY_TABLE`
                                                         VALUE =   '1' ).
              LO_EL_IMPORTING_CREATE->SET_ATTRIBUTE(
                   NAME =  `ACTION_RDBTN`
                   VALUE = 'C' ).
              LO_EL_IF_EDITABILITY->SET_ATTRIBUTE(
                  NAME =  `EDIT_CREATE`
                  VALUE = ' ' ).
             LO_EL_IF_EDITABILITY->SET_ATTRIBUTE(
                  NAME =  `EDIT_DISPLAY`
                  VALUE = 'X' ).
             LO_EL_FUNCTIONALITY->SET_ATTRIBUTE(    NAME  =  `OPTION_CHANGED`
                                                     VALUE = ' ' ).
            ENDIF.

  • Bind the output data (Xml) from BPEL process to ADF SelectOneChoice Control

    Hello,
    My requirement is to invoke a BPEL process from ADF page and display returned results in a select one choice (drop down box).
    I have created a Data Control for the BPEL process through Web service data control and tried to invoke the BPEL process. I could see from the BPEL console that BPEL process is getting invoked. But the ADF doesn't bind any of the output to Select one choice.
    It doesn't even show any error.
    Can you plz help me how to bind the output of the BPEL process to ADF SelectOneChoice control.
    The Xml Which I recieve from BPEL process is
    <outputVariable><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload"><DBConnectDemoProcessResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.oracle.com/DBConnectDemo">
    <StatusTrans xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/top/DBSelect">
    <transId>1</transId>
    <fromStatus>Open</fromStatus>
    <toStatus>Assigned</toStatus>
    </StatusTrans>
    <StatusTrans xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/top/DBSelect">
    <transId>2</transId>
    <fromStatus>Open</fromStatus>
    <toStatus>Pending</toStatus>
    </StatusTrans>
    <StatusTrans xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/top/DBSelect">
    <transId>3</transId>
    <fromStatus>Open</fromStatus>
    <toStatus>Closed</toStatus>
    </StatusTrans>
    <StatusTrans xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/top/DBSelect">
    <transId>4</transId>
    <fromStatus>Open</fromStatus>
    <toStatus>Cancelled</toStatus>
    </StatusTrans>
    </DBConnectDemoProcessResponse>
    </part></outputVariable>
    And the toStatus node values viz, Assigned, Pending, Closed, Cancelled should get binded to the SelectOneChoice control
    Waiting for your valuable inputs,
    Regards,
    babloo.

    I have been still trying for the solution. I have modified the XSD created by the jdeveloper to,
    <schema attributeFormDefault="unqualified"
         elementFormDefault="qualified"
         targetNamespace="http://xmlns.oracle.com/StateTransitions"
         xmlns="http://www.w3.org/2001/XMLSchema">
         <element name="StateTransitionsProcessRequest">
              <complexType>
                   <sequence>
                   <element name="input" type="string"/>
                   </sequence>
              </complexType>
         </element>
         <element name="StateTransitionsProcessResponse">
              <complexType>
                   <sequence maxOccurs="unbounded">
    <element name="stateChanges">
    <complexType>
    <sequence>
    <element name="fromState" type="string" />
    <element name="toState" type = "string" />
    </sequence>
    </complexType>
    </element>
    </sequence>
              </complexType>
         </element>
    </schema>
    And I have given this XSD url while creating the Web Service Data Control by deploying it into the Oracle App server.
    So, I can see the tree structure of "Return" as "StateTransitionsProcessResponse->StateChanges->toState,fromState"
    I have binded the toState field of the Data Control to the SelectOneChoice ADF control in a jspx page by using List binding editor.
    I have selected,
    Base data source as "Variables" (Currently I don't need to update any table),
    List Data source as "process: getStateTransitions.process.StateTransitionsProcessResponse.stateChanges" (Web Service Data Control)
    Base Data source attribute as "process_input"
    List Data Source Attribute as "toState"
    I can initiate the web service (BPEL process) by providing the necessary input value like 'Open' or 'Pending' or 'Assigned' but the SelectOneChoice control doesn't populate with any values.
    Waiting for valuable inputs!
    Thanks and Regards,
    babloo.

  • Why is the ActionForms validate-Method called twice?

    Hello forum,
    I'm new to struts and want to develop a form, where an internetuser can leave a comment to an article. Just like most sides, an image with an text is displayed, the text has to be written into an inputfield before the comment is commited in order to be saved.
    When an user puts in no text or a wrong one, a errormessage is displayed, the old image is deleted and an new one is created and shown to the user. His input still stays in the fields.
    I proof the correctness of the word in the validate-Method of the ActionForm and it works fine.
    Now I've the following problem:
    If the user puts in the correct text, the comment is saved and the side is displayed again including his comment.. But also all the input of the form should be erased. But for some reason, its not and the validate method is called again and since there is a new wordvarifyingimage and a new text to be inserted, it throws an error which is displayed again. Also, all the input of his last message is present!
    So, I guess I miss a big point about the ActionForm handling. Why is the ActionForm called twice and why doesn't it erase the old input? I try to do this in the Action class after saving the comment, setting all the formparameters to "" or null.
    Can anybody give me a hint?
    Would be a big big help since I've not found anything googling about this issue.
    If you need code, just tell me which part I put in here (ActionForm, Action, struts-config or jsp-file)
    Thanxs in advance,
    strutsnewbytopro

    my jsp:
    <%@ taglib uri="/WEB-INF/tld/struts-bean.tld" prefix="bean" %>
    <%@ taglib uri="struts/html-el" prefix="html" %>
    <%@ taglib uri="jstl/c" prefix="c" %>
    <%@ taglib uri="/WEB-INF/tld/struts-logic.tld" prefix="logic" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html>
    <head>
    <style type="text/css" title="currentStyle" media="screen">
              @import "../library/css/blog.css";     
         </style>
    <script language="javascript">
         function sendMail(){
              document.forms[0].formaction.value ='mail';
              document.forms[0].submit();
         function saveComment(){
              document.forms[0].formaction.value ='comment';
              document.forms[0].submit();
         </script>
    </head>
    <body>
    <html:form action="/blog">
    <div id="container">
         <div id="leftside">
              <logic:messagesPresent>
                   <div id="errors">
                        <div style="color:#CC3333; ">
                        <p><span id="errorHeaders"><bean:message key="errors.validation.header"/></span>
                             <html:messages id="error">
                             <c:out value="${error}"/>
                             </html:messages>
                        </p></div>
                     </div>
              </logic:messagesPresent>
                 .... show blogentry ...          
              <logic:present name="comments">
                   <div id="divblogcomment">
                   <logic:iterate name="comments"  id="com">
                   <div class="breaker10" style="clear:left; "></div>
    <div class="rowblogcommentdate" style="width:150px;"<a href="<bean:write name="com" property="website" />"><bean:write name="com" property="username" /></a> am <bean:write name="com" property="postdate" /></div>
                   <div class="rowblogcomment"><bean:write name="com" property="comment" /></div>
                   </logic:iterate>
                   <div class="breaker10" style="clear:left; "></div>
    </div>
              </div>
                             </logic:present>
                             <logic:notPresent name="savedcomment">
                                  <div id="writeblogcomment">
                                  <div class="topbig"><div class="headsmall">enter Comment</div></div>
                                  <div id="bginhaltwriteblogcomment">
                                       <div class="breaker10" style="clear:left; "></div>
                                       <div align="center">
                                            <table cellpadding="0" cellspacing="0" border="0">
                                                 <tr>
                                                      <td>Name:</td>
                                                      <td>  </td>
                                                      <td><html:text size="50" name="blogForm2" styleClass="inputtext" property="username"/></td>
                                                      <td>  </td>
                                                      <td>Web:</td>
                                                      <td>  </td>
                                                      <td><html:text size="50" name="blogForm2" styleClass="inputtext" property="webaddress"/></td>
                                                 </tr>
                                                 <tr>
                                                      <td>Enter Code:</td>
                                                      <td>  </td>
                                                      <td><html:text size="66" name="blogForm2" styleClass="inputtext" property="commentword"/></td>
                                                      <td>  </td>
                                                      <td >Code:</td>
                                                      <td>  </td>
                                                      <td><img src="<bean:write name="entry" property="commentpicurl" />"></td>
                                                 </tr>
                                                  <tr>
                                                      <td colspan="7">Comment<br><html:textarea name="blogForm2" styleClass="comment" property="comment" /></td>
                                                 </tr>
                                                 <tr>
                                                      <td colspan="7"><html:submit styleClass="inputtext" onmousedown="javascript:saveComment();"><bean:message key="button.save"/></html:submit></td>
                                                 </tr>                                        
                                            </table>
                                       </p>
                                       </div>
                                       <div class="bottombig"></div>
                                  </div>
                             </div>
                             </logic:notPresent>
                             <logic:present name="savedcomment">
                             <div id="writeblogcomment">
                                  <div class="topbig">Comment saved<div class="headsmall">Kommentar gespeichert</div></div>
                                  <div id="bginhaltwriteblogcomment">
                                       <div class="breaker10" style="clear:left; "></div>
                                       <div align="center">
                                            <table cellpadding="0" cellspacing="0" border="0">
                                                 <tr>
                                                      <td>Comment saved</td>
                                                 </tr>
                                            </table>
                                       </p>
                                       </div>
                                       <div class="bottombig"></div>
                                  </div>
                             </div>
                             </logic:present>
                             </div>
    </div>
    <html:hidden name="blogForm2" property="formaction"/><br>
    <html:hidden name="blogForm2" property="id"/><br>
    <% session.removeAttribute("savedcomment"); %>
    </html:form>
    </body>
    </html>

  • Why imageComplete is called twice!

    I wrote the following code:
    public class Test{
    public static void main(String[] args){
    //get image
    Image image = Toolkit.getDefaultToolkit().createImage("javalogo.gif");
    ImageConsumerImpl impl = new ImageConsumerImpl();
    //get image producer
    ImageProducer ip = image.getSource();
    // start production
    ip.startProduction (impl);
    //wait here
    class ImageConsumerImpl implements ImageConsumer{
    // other methods are "null"
    public void imageComplete(int status){
    System.out.println("Status:"+status);
    This code did not behavior as I had expected. I thought imageComplete could be called for only once. But it will be called twice, value status is 3(STATICIMAGEDONE) for the first time, but 1 for the second call, which indicates an image error.
    I don't know why, can you give me the answer? javalogo.gif is a static picture.

    pls help me with this, thanks

  • Printing function gets called twice..!

    The following is my class that prints a string array which sometimes goes into multiple pages.. The code in which i create the multiple pages is below this class.. the problem is each time i append a new page to the book the print function in the class PaintC is called twice.. so if I write some additional code inside the print function to edit the strings .. it ends up running twice and the formatting i try to do gets messed up.. !! do you guys know why this is happening..? Please help.. ive been trying to find out since a very long time..!!
    The code in which i call this function is also shown below
    CLASS FOR PRINTING
    class PaintC
        implements Printable {
      String ad[];
      public PaintC(String ac[]) {
        System.out.println("Print Class Called 1");
        this.ad = ac;
      public int print(Graphics g, PageFormat pf, int pageIndex) throws
          PrinterException {
        System.out.println("Print Function Called 1");
        Graphics2D g2 = (Graphics2D) g;
        g.setFont(new java.awt.Font("Trebuchet MS", Font.PLAIN, 8));
        int xo = 60;
        int yo = 36;
        for (int y = 0; y < 76; y++) {
          try {
            g2.drawString(ad[y], xo, yo);
            yo += 9;
          catch (Exception r) {
            y = 76;
        return Printable.PAGE_EXISTS;
    CODE FOR CREATING MULTIPLE PAGES USING ABOVE CLASS
    void dotheprint() {
        PrinterJob printerJob = PrinterJob.getPrinterJob();
        PageFormat format = new PageFormat();
        Printable painter1;
        format = printerJob.defaultPage(format);
        Paper paper = format.getPaper();
        paper.setImageableArea(60, 36, 500, 756);
        format.setPaper(paper);
        // try storing in a string array each line
        Book bk = new Book();
        String ab = jTATRRep.getText();
        int i, j, lc = jTATRRep.getLineCount();
        String ac[] = new String[lc + 3];
        String ad[] = new String[78];
        ac = ab.split("\n");
        //System.out.println("Number of Lines = " + lc);
        //setting up pages as string arrays..
        // setting up first page
        //Assuming 76 lines per page
        for (i = 0; i < 76 && i < lc; i++) {
          try {
            ad[i] = ac;
    catch (Exception ex) {
    bk.append(new PaintC(ad), format);
    ad = null;
    // setting up second page if neccessary
    // //System.out.println("Number of Lines /76= "+lc/76);
    int pagec = lc / 76;
    int modul = lc % 76;
    int k;
    if (modul > 0) {
    pagec++;
    // //System.out.println("Number of pages : "+pagec);
    j = 76;
    while (pagec > 1) {
    ad = new String[76];
    k = 0;
    for (i = j; i < (lc - 1) && k < 76; i++) {
    // //System.out.println("ac[i]= "+ac[i]);
    ad[k] = ac[i];
    k++;
    bk.append(new PaintC(ad), format);
    ad = null;
    j += 76;
    pagec--;
    printerJob.setPageable(bk);
    boolean doPrint = printerJob.printDialog();
    if (doPrint) {
    try {
    System.out.println("Print Called 1");
    printerJob.print();
    System.out.println("Print Called 2");
    catch (PrinterException exception) {
    System.err.println("Printing error: " + exception);
    CODE IN WHICH THE PRINT FUNCTION IS CALLED
    void jBPrint_actionPerformed(ActionEvent e) {
        dotheprint();
    class ContactManager_jBPrint_actionAdapter
        implements java.awt.event.ActionListener {
      ContactManager adaptee;
      ContactManager_jBPrint_actionAdapter(ContactManager adaptee) {
        this.adaptee = adaptee;
      public void actionPerformed(ActionEvent e) {
        adaptee.jBPrint_actionPerformed(e);

    You might want to check out the [url http://forum.java.sun.com/thread.jsp?forum=57&thread=500687&tstart=0&trange=15]crosspost in the swing forum before spending your time answering this question.

  • IBY_FD_EXTRACT_EXT_PUB getting called twice even for single payment

    Hi All,
    I am extending IBY_FD_EXTRACT_EXT_PUB for a custom field Batch Number which is sequence getting reset at 99. However the sequence is skipping 1 value each time payment is run.
    On further analysis I found that IBY_FD_EXTRACT_EXT_PUB is getting called twice even when a single payment is made in Quick type. Has anybody experienced this?
    Thanks,
    Abby

    I finally have my solution. I did it without the IBY_FD_EXTRACT_EXT_PUB extend function. I modified the etext outbound RTF template accordingly. Maybe it will give you a hint or direction to solve your situation. Good luck.
    I created a level for grouping criteria as PaymentReferenceNumber/Payee/Address/AddressName, DocumentInternalIDSegment2, called InvoiceDetailLevel. The base level is OutboundPayment.
    I then added a level (InvoiceDetailLevel) between OutboundPaymentInstruction and the DocumentPayable level.
    Then in the syntax for the supplier number and the address I entered this in the Data column:
    ../../ OutboundPayment/Payee/SupplierNumber
    and
    ../../ OutboundPayment/Payee/Address/AddressName
    That did the trick and now it is working correctly on every line, looping back to get the proper information.

Maybe you are looking for