Invoke method in obj A from obj B

hi;
I'ld like to know what is the diff btwn the invocation method as below (inv1 vs inv2), which is better and recommended, tq.
class book1 {
public void chap1() {
System.out.println("c1.");
class inv1{
book1.chap1();
class inv2{
private book1 b1 = new book1();
b1.chap1();
}

ok, thanks for the comments. anyway, i just want to
get the concept, which type of invocation is
recommended and the reason.Well, if stat1() is declared static then you have a choise. You can either access it as in inv1 or inv2. In that case the inv1 is recommended, because stat1() belongs to the class (book1) as a whole and not to any particular object (b1).
if stat1() is not declared static then you don't have have a choise. You have to access it as in inv2. That's the situation in your example and that's why inv1 doesn't work.
What I meant with my recommendation is that you should avoid static declarations. They have their proper uses but as a newbie it's easy to overuse them because they resemble the global variables you may be accustomed to from for example Basic and that doesn't lead to good OO.

Similar Messages

  • Invoke a method in one class from a different class

    I am working on a much larger project, but to keep this simple, I wrote out a little test that would convey the over all theory of the program.
    What I am doing is starting out with a 2 JFrames and a Class. When the program is launched, the first JFrame opens. In this JFrame is a label and a button. When the button is clicked, the second JFrame opens. This JFrame has a textField and a button. The user puts the text in the textField and presses the button. When the button is pushed, I want the text that was just put in the textField, to be displayed in the first JFrame's label. I am trying to invoke a method in the first JFrame from the second, but nothing happens. I have also tried making the Class extend from JFrame1 and invoke it from there, but no luck. So, how do I invoke a method in a class from a different class?
    JFrame1 (I omitted the layout part. I made this in Netbeans so its pretty long)
    public class NewJFrame1 extends javax.swing.JFrame {
         private NewClass1 nC = new NewClass1();
         /** Creates new form NewJFrame1 */
         public NewJFrame1() {
              initComponents();
              jLabel1.setText("Chuck");
         public void setLabels()
              jLabel1.setText(nC.getName());
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                                  
         NewJFrame2 j2 = new NewJFrame2();
         j2.setVisible(true);The class
    public class NewClass1 {
         public static String name;
         public NewClass1()
         public NewClass1(String n)
              name = n;
         public String getName()
              return name;
         public void setName(String n)
              name = n;
    }The second jFrame
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                                  
         NewClass1 nC = new NewClass1();
         NewJFrame1 nF = new NewJFrame1();     
         nC.setName(jTextField1.getText());
         nF.setLabels();
         System.out.println(nC.getName());At this point I am begging for help. I have been trying for days to figure this out, and I just feel like I am not getting anywhere.
    Thanks

    So, how do I invoke a method in a class from a different class?Demo:
    public class Main {
        public static void main(String [] args) {
         Test1 t1 = new Test1();
         Test2 t2 = new Test2();
         int i = t1.method1();
         String s = t2.method2(i);
         System.out.println(s);
    class Test1 {
        public int method1() {
         return 10;
    class Test2 {
        public String method2(int i) {
         if (i == 10)
             return "ten";
         else
             return "nothing";
    }Output is "ten".
    Edited by: newark on May 28, 2008 10:55 AM

  • Invoking methods in C++ from Java

    I'm invoking the Java Virtual Machine from my C++ program like is described here: http://java.sun.com/docs/books/tutorial/native1.1/invoking/invo.html
    So, I run my C++ program (let's call it C), C invokes the JVM and starts a Java program (let's call it J). C can now invoke methods in J. Now I want J to invoke a method in C. Is this possible?

    Yes it is.
    However your C code that you want to invoke from java must be defined as "native" - that is, it is defined as the implementation for java methods that are declared native.
    The possibly most confusing part is where to put the C code and how to make the java-C linkage.
    o You can put the C code in a DLL, and use a "loadLibrary" call to make it available.
    o Alternatively, and perhaps more likely, your original C/C++program can make "registerNative" calls to the JVM to identify to it the native implementations.

  • Invoke methods from remote cache

    Hi, Guys
         I want to invoke methods from remote cache node WITHOUT joining the cluster.
         Do you provide some mechanism to implement this?
         Currently, I set up an empty cache which joined the same cluster to invoke methods.
         Thanks for your support.

    I want to invoke methods from remote cache node     > WITHOUT joining the cluster.
         > Do you provide some mechanism to implement this?
         Absolutely. It is the "client/server" extension to Coherence, which is called Coherence*Extend.
         See:
         http://wiki.tangosol.com/display/COH32UG/Configuring+and+Using+Coherence*Extend
         Peace,
         Cameron Purdy
         Tangosol Coherence: The Java Data Grid

  • Can I Call method on one JVM from another through a dll?

    Let me explain.
    I have this java jar file that I can only have one instance of running at any given time. I'm using a shared data segment in a dll to store a bool indicating whether the program is already running or not. If it's already running, I have to not run the second instance and give focus to the current running instance.
    The jar file calls a native method "canInstantiate()" on a dll to see if there's already an app running. If there isn't, the env and obj are stored in the shared data segment of the dll and we return true. If there is already an instance of the program running, I want canInstantiate call a function on the current instance of the jar (like a callback) to tell it to request focus. It's not working. Can someone tell me if my code is right?
    The .h file
    #include "stdafx.h"
    #include <jni.h>
    #include "CardServer.h"
    #pragma data_seg("SHARED") // Begin the shared data segment.
    static volatile bool instanceExists = false;
    static JavaVM *theJavaVM = NULL;
    static JNIEnv* theJavaEnv= NULL;
    static jobject instanceObject = NULL;
    static jmethodID mid = NULL;
    static jclass cls = NULL;
    #pragma data_seg()
    #pragma comment(linker, "/section:SHARED,RWS")
    jdouble canInstantiate(JNIEnv *env, jobject obj);
    jdouble instantiate(JNIEnv *env, jobject obj);
    jdouble uninstantiate(JNIEnv *env, jobject obj);
    void grabFocus();
    </code>
    The .cpp file:
    <code>
    #include "MyFunctions.h"
    #include <string.h>
    #include <stdlib.h>
    #include "stdafx.h"
    #include <iostream.h>
    jdouble canInstantiate(JNIEnv *env, jobject obj)
    printf("In canInstantiate!!");
    if (!instanceExists)
    printf("No instance exists!!");
    return (jdouble)0.0;
    else
    printf("An instance already exists!!");
    grabFocus();
    return (jdouble)1.0;
    jdouble instantiate(JNIEnv *env, jobject obj)
    printf("**In CPP: Instantiate!!\n");
    cout << "At start, env is: " << env << endl;
    cout << "At start, obj is: " << obj << endl;
    if (instanceExists == false)
    instanceExists = true;
    theJavaEnv = env;
    instanceObject = obj;
    theJavaEnv->GetJavaVM(&theJavaVM);
    cls = (theJavaEnv)->FindClass("TheMainClassOfTheJar");
    if (cls == 0) {
    fprintf(stderr, "Can't find Prog class\n");
    exit(1);
    mid = (theJavaEnv)->GetMethodID(cls, "grabFocusInJava", "(I)I");
    if (mid == 0) {
    fprintf(stderr, "Can't find grabFocusInJava\n");
    exit(1);
    printf("About to call grabFocusInJava\n");
    grabFocus();
    printf("CPP: After the grab focus command in instantiate!!\n");
    cout << "At end, env is: " << env << endl;
    cout << "At end, obj is: " << obj << endl;
    return 0.0;
    else
    printf("CPP: Finished Instantiate!!\n");
    return 1.0;
    jdouble uninstantiate(JNIEnv *env, jobject obj)
    printf("CPP: In uninstantiate!!\n");
    if (instanceExists == true)
    instanceExists = false;
    theJavaVM = NULL;
    instanceObject = NULL;
    printf("CPP: Finishing uninstantiate!!\n");
    return 0.0;
    else
    printf("CPP: Finishing uninstantiate!!\n");
    return 1.0;
    void grabFocus()
    printf("In CPP::GrabFocus!!\n");
    instanceObject = theJavaEnv->NewGlobalRef(instanceObject);
    cls = (theJavaEnv)->FindClass("CardFormatter");
    if (cls == 0) {
    fprintf(stderr, "Can't find Prog class\n");
    exit(1);
    printf("Got the cls id again!!\n");
    if (cls == 0)
    printf("IT'S INVALID!!\n");
    mid = (theJavaEnv)->GetMethodID(cls, "grabFocusInJava", "(I)I");
    if (mid == 0) {
    fprintf(stderr, "Can't find grabFocusInJava\n");
    exit(1);
    theJavaEnv->CallIntMethod(instanceObject, mid, 2);
    printf("Called grabFocusInJava\n");
    </code>
    thanks in advance

    Can I Call method on one JVM from another through a dll
    ...The rest of your question merely expands on your title.
    And the answer to that question is no.
    When you call a method you are executing a "thread of execution." A thread of execution exists only in a single process. It can not exist in another process.
    If the dll is doing some interesting things then you could call a method that sets a flag. Data can move between instances. But you would then have to have a thread in that different process monitoring that flag. And sharing data in a dll is not a normal process, so it would have to be coded appropriately.
    If all you want to do is set the current focus to the existing application, then that can be done with existing windows functionality. You don't need to do anything special in your dll. You can probably search these forums to find the exact code. If not there are countless examples in windows repositories (like MSDN) on how to do that.

  • Error -50400 occurred at Invoke Method: FIFO.Read in Host.vi

    Hey there,
    we have sensors on an Engine which are connected to a NI cRIO 9014 board (with a NI9411 6-channel digital input modul) and go from there via network to a host computer.
    cRIO board: the cRIO board collects the data from the engine and stores it in a buffer, this is because the network is to slow for the magnitude of data
    host computer: the host computer reads over the network the buffer on the cRIO board, on the host computer it takes out specific portions of the data to create pressure graphs of the engine
    Error: 
    Error -50400 occurred at Invoke Method: FIFO.Read in Host.vi
    Possible reason(s):
    The transfer did not complete within the timeout period or within the specified number of retries.
    This error occurs in the following scenario:
    - engine is running
    - cRIO is running
    When I press the start button (boolean 3) in the host.VI to start the reading of the data from the board AFTER I pressed the run button of the host VI. 
    The Error would not occur if I pressed the start button (boolean 3) BEFORE I pressed the run button of the host VI.
    We tried to increase the time out, but it still did not work, the error occurs!
    We would be really happy if you could look over it and help us in this case! If you need further informations or if we need to clarify some specific portion, please let us know!
    We included the VI's in the attachement!
    Thanks in advance!
    Solved!
    Go to Solution.
    Attachments:
    Host.vi ‏152 KB
    C_RIO.vi ‏92 KB
    Cyl_Pres.lvproj ‏196 KB

    Chrisse,
    There are a few things wrong in your application, if I may offer some suggestions.
    First, your while loops are not running in parallel.  In fact, they are in while loops with a true constant wired to them. I am not sure if this is by design for debugging, or on accident.  I would put the Polling(read pulling zero elements) outside your main while loop.
    Your second nested while loop (the one polling the # of elements and then pulling them out) is going to run just once, and may pull only a few samples.  I don't think that is what you are looking for here, and there are a couple ways we can go here.  You could continuously poll until you have 0 elements available for x amount of time, then you know you have no more samples available and you can process all the data OR you can put all of your data processing as part of that loop and just always write to file immediately as x samples are pulled.
    Also, your main loop's stop condition is (i <= 3) Therefore, it will run once and then stop.  Maybe you mean >=3?
    Also, you have 'append to file' disabled on your write to spreadsheet, so everytime you write you are overwriting old data.  If you want to continuously write, you will be losing data.  This can be cured by either setting this to true(requiring a new file name or programatically deleting the old spreadsheet every time you run the vi) OR you can collect all of your data in a shift register, and only write to file once you have all your data available.
    The error you are seeing is because you try to close your FPGA reference twice.  You only need to close it once.
    After seeing your overall picture, I think this can all be cured by simply hardwiring your Read to get your 1440X4 elements, but as we have seen, this does not work.  Something is happening in your system....this is what I want you to do...run just the following code...and let me know how many elements remaining it gives you...Once the number has settled(I hope it does and your engine doesn't keep running), hit stop, and all the values will be put on a graph for you.  My broken wires are because I do not have the FPGA VI.
    Message Edited by Robbob on 04-21-2009 01:48 PM
    Rob K
    Measurements Mechanical Engineer (C-Series, USB X-Series)
    National Instruments
    CompactRIO Developers Guide
    CompactRIO Out of the Box Video
    Attachments:
    numelements.jpg ‏39 KB

  • Calling a method in BPM Object from jsf page

    Hi All,
    How do I call a method in BPM object from JSF page? Is it possible to invoke it in a manner similar to invoking a method from managed bean in JSF application?
    Please help.
    Thanks and Regards,
    Veronica

    You can use f:invoke (or f:invokea to with parameters)
    For ajax calls, you can use f:invokeUrl to get the URL to a particular method within your BPM object, although make sure the Server-Side Method property is set to Yes.
    http://download.oracle.com/docs/cd/E13154_01/bpm/docs65/taglib/index.html

  • Invoking a SAP web service from Dreamweaver MX

    I am trying to invoke a SAP web service from ColdFusion and it looks like ColdFusion does not even recognize the rfc generated wsdl file as a wsld file.  I have tried other wsdl url's outside my company and they work...so I know that web services at least work in ColdFusion.  Can anyone advise on this topic?
    Thanks!

    Paula,
    I suppose you're using CFINVOKE (http://www.activsoftware.com/code_samples/code.cfm/CodeID/44/ColdFusion/Invoking_SOAP_Web_Services_with_ColdFusion_MX_CFINVOKE_Tag) or are you using a third party tool like CFX_SOAP (http://www.activsoftware.com/products/productdetail.cfm/id/1015)?
    Are you working with WebAS 6.4 or 6.2?
    It works with web services created with WebAS 6.4, but you should generate proxy classes. Check Thomas' weblog (second part of it)->https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/1012. [original link is broken] [original link is broken] [original link is broken] [original link is broken] [original link is broken] [original link is broken] [original link is broken] [original link is broken] [original link is broken]
    The WSDL generated by this method is more standard than the one generated when you just Remote enable an FM and look at the webservice browser.
    Th core of CF MX is Java and that engine is rather strict in standards.
    Eddy

  • Invoke Method: Run VI produces error when run as an application

    Hello,
    I have upgraded from LabView 7.0 to 2009. One test program uses Run VI Invoke Method to start the main UI. On LabView 7.0 it works OK , when build as an application, but with LabView 2009 it gives error 1003: Invoke Node xxx.vi <APPEND> VI Path: xxx. (I have checked that the path to "Open VI Reference" is correct.)
    When run on LabView 2009 development environment (.vi) - no problem. I used the "Convert built script.." tool to convert to LabView 2009 built specifications. I have tried numerous different variations building application with LabView 2009 (including main UI files, different setups, etc.), but no luck. If someone has any ideas...
    -timo

    Maybe it helps you for debugging:
    I checked the property for the broken arrow. You need a property node and go Select Class 'Vi Server'->'VI' (skip this in your Application but navigate to the VI via the server and feed it to the node). Then it is Execution->State.
    I need to draw some code to do it for me as well, once I'm done I'll post it here.
    Felix
    www.aescusoft.de
    My latest community nugget on producer/consumer design
    My current blog: A journey through uml

  • Cannot invoke method multiply() on null object

    Hi ,
    when im trying to follow Developing Rich Web Applications With Oracle ADF tutorial in this link http://docs.oracle.com/cd/E18941_01/tutorials/jdtut_11r2_55/jdtut_11r2_55_3.html
    and in the part ( Add CRUD Operation Components to your Page ) when pressing the CreateInsert i got the error message Cannot invoke method multiply() on null object ,
    the logs as below
    <Utils> <buildFacesMessage> ADF: Adding the following JSF error message: Cannot invoke method multiply() on null object
    java.lang.NullPointerException: Cannot invoke method multiply() on null object
         at org.codehaus.groovy.runtime.NullObject.invokeMethod(NullObject.java:77)
         at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:750)
         at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:727)
         at org.codehaus.groovy.runtime.callsite.NullCallSite.call(NullCallSite.java:17)
         at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
         at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:54)
         at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
         at bc4j_model_EmpDetails_AnnualSalary_null_gs.run(bc4j_model_EmpDetails_AnnualSalary_null_gs.groovy:1)
         at oracle.jbo.ExprEval.internalEvaluateGroovyScript(ExprEval.java:1200)
         at oracle.jbo.ExprEval.doEvaluate(ExprEval.java:1253)
         at oracle.jbo.ExprEval.evaluateForRow(ExprEval.java:1075)
         at oracle.jbo.server.AttributeDefImpl.evaluateTransientExpression(AttributeDefImpl.java:2131)
         at oracle.jbo.server.ViewRowStorage.getAttributeInternal(ViewRowStorage.java:1827)
         at oracle.jbo.server.ViewRowImpl.getAttributeValue(ViewRowImpl.java:1962)
         at oracle.jbo.server.ViewRowImpl.getAttributeInternal(ViewRowImpl.java:824)
         at oracle.jbo.server.ViewRowImpl.getAttrInvokeAccessor(ViewRowImpl.java:906)
         at oracle.jbo.server.ViewRowImpl.getAttribute(ViewRowImpl.java:854)
         at oracle.jbo.uicli.binding.JUCtrlValueBinding.internalGetAttributeValueFromRow(JUCtrlValueBinding.java:1213)
         at oracle.jbo.uicli.binding.JUCtrlValueBinding.getAttributeFromRow(JUCtrlValueBinding.java:764)
         at oracle.jbo.uicli.binding.JUCtrlValueBinding.getInputValueInRow(JUCtrlValueBinding.java:3004)
         at oracle.jbo.uicli.binding.JUCtrlValueBinding.getInputValue(JUCtrlValueBinding.java:2852)
         at oracle.jbo.uicli.binding.JUCtrlValueBinding.getInputValue(JUCtrlValueBinding.java:2841)
         at oracle.adfinternal.view.faces.model.binding.FacesCtrlAttrsBinding.getInputValue(FacesCtrlAttrsBinding.java:183)
         at oracle.jbo.uicli.binding.JUCtrlValueBinding.internalGet(JUCtrlValueBinding.java:2416)
         at oracle.adfinternal.view.faces.model.binding.FacesCtrlAttrsBinding.internalGet(FacesCtrlAttrsBinding.java:275)
         at oracle.adf.model.binding.DCControlBinding.get(DCControlBinding.java:749)
         at javax.el.MapELResolver.getValue(MapELResolver.java:164)
         at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
         at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
         at com.sun.el.parser.AstValue.getValue(Unknown Source)
         at com.sun.el.ValueExpressionImpl.getValue(Unknown Source)
         at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
         at org.apache.myfaces.trinidad.bean.FacesBeanImpl.getProperty(FacesBeanImpl.java:73)
         at oracle.adfinternal.view.faces.renderkit.rich.ValueRenderer.getValue(ValueRenderer.java:184)
         at oracle.adfinternal.view.faces.renderkit.rich.SimpleInputBaseRenderer.renderContentStyleAttributes(SimpleInputBaseRenderer.java:512)
         at oracle.adfinternal.view.faces.renderkit.rich.SimpleInputBaseRenderer.renderNonElementContent(SimpleInputBaseRenderer.java:397)
         at oracle.adfinternal.view.faces.renderkit.rich.FormInputRenderer.encodeAllAsNonElement(FormInputRenderer.java:300)
         at oracle.adfinternal.view.faces.renderkit.rich.FormElementRenderer.encodeAll(FormElementRenderer.java:160)
         at oracle.adf.view.rich.render.RichRenderer.delegateRenderer(RichRenderer.java:1700)
         at oracle.adfinternal.view.faces.renderkit.rich.LabeledInputRenderer.renderFieldCellContents(LabeledInputRenderer.java:228)
         at oracle.adfinternal.view.faces.renderkit.rich.LabelLayoutRenderer.renderFieldCell(LabelLayoutRenderer.java:528)
         at oracle.adfinternal.view.faces.renderkit.rich.LabelLayoutRenderer.encodeAll(LabelLayoutRenderer.java:305)
         at oracle.adfinternal.view.faces.renderkit.rich.LabeledInputRenderer.encodeAll(LabeledInputRenderer.java:215)
         at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1659)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
         at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
         at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer._encodeFormItem(PanelFormLayoutRenderer.java:1088)
         at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer.access$100(PanelFormLayoutRenderer.java:50)
         at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer$FormColumnEncoder.processComponent(PanelFormLayoutRenderer.java:1604)
         at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer$FormColumnEncoder.processComponent(PanelFormLayoutRenderer.java:1523)
         at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:187)
         at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:318)
         at org.apache.myfaces.trinidad.component.UIXComponent.encodeFlattenedChildren(UIXComponent.java:283)
         at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer._encodeChildren(PanelFormLayoutRenderer.java:420)
         at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer.encodeAll(PanelFormLayoutRenderer.java:208)
         at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1659)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
         at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
         at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer._encodeChild(PanelGroupLayoutRenderer.java:447)
         at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer.access$1500(PanelGroupLayoutRenderer.java:30)
         at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer$EncoderCallback.processComponent(PanelGroupLayoutRenderer.java:734)
         at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer$EncoderCallback.processComponent(PanelGroupLayoutRenderer.java:637)
         at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:187)
         at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:318)
         at org.apache.myfaces.trinidad.component.UIXComponent.encodeFlattenedChildren(UIXComponent.java:283)
         at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer.encodeAll(PanelGroupLayoutRenderer.java:360)
         at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1659)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
         at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
         at oracle.adfinternal.view.faces.renderkit.rich.DecorativeBoxRenderer.encodeFacet(DecorativeBoxRenderer.java:440)
         at oracle.adfinternal.view.faces.renderkit.rich.DecorativeBoxRenderer._encodeCenterPane(DecorativeBoxRenderer.java:704)
         at oracle.adfinternal.view.faces.renderkit.rich.DecorativeBoxRenderer.encodeAll(DecorativeBoxRenderer.java:380)
         at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1659)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
         at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
         at oracle.adfinternal.view.faces.renderkit.rich.DecorativeBoxRenderer.encodeFacet(DecorativeBoxRenderer.java:440)
         at oracle.adfinternal.view.faces.renderkit.rich.DecorativeBoxRenderer._encodeCenterPane(DecorativeBoxRenderer.java:704)
         at oracle.adfinternal.view.faces.renderkit.rich.DecorativeBoxRenderer.encodeAll(DecorativeBoxRenderer.java:380)
         at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1659)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
         at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
         at oracle.adfinternal.view.faces.renderkit.rich.PanelStretchLayoutRenderer.encodeCenterFacet(PanelStretchLayoutRenderer.java:879)
         at oracle.adfinternal.view.faces.renderkit.rich.PanelStretchLayoutRenderer._encodeCenterPane(PanelStretchLayoutRenderer.java:1294)
         at oracle.adfinternal.view.faces.renderkit.rich.PanelStretchLayoutRenderer._encodeMiddlePanes(PanelStretchLayoutRenderer.java:351)
         at oracle.adfinternal.view.faces.renderkit.rich.PanelStretchLayoutRenderer.encodeAll(PanelStretchLayoutRenderer.java:316)
         at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1659)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
         at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:641)
         at oracle.adf.view.rich.render.RichRenderer.encodeAllChildrenInContext(RichRenderer.java:3062)
         at oracle.adfinternal.view.faces.renderkit.rich.FormRenderer.encodeAll(FormRenderer.java:274)
         at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1659)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
         at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:641)
         at oracle.adf.view.rich.render.RichRenderer.encodeAllChildrenInContext(RichRenderer.java:3062)
         at oracle.adfinternal.view.faces.renderkit.rich.DocumentRenderer.encodeAll(DocumentRenderer.java:1277)
         at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1659)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1655)
         at oracle.adfinternal.view.faces.component.AdfViewRoot.encodeAll(AdfViewRoot.java:91)
         at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:399)
         at org.apache.myfaces.trinidadinternal.application.ViewDeclarationLanguageFactoryImpl$ChangeApplyingVDLWrapper.renderView(ViewDeclarationLanguageFactoryImpl.java:350)
         at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
         at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:273)
         at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:165)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:1027)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:334)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:232)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:313)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:173)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:122)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:293)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:199)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:180)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
         at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    <Utils> <buildFacesMessage> ADF: Adding the following JSF error message: Cannot invoke method multiply() on null object
    any help please ?

    Thanks Frank ,
    really i've already downloaded the ZIP of the final application , but the same error message ,
    when removing the Annual salary ( Which is a new Attribute ( not DB column) Salary * 12 ) every think is fine and no more error message ,there is no null salary all the employees have a salary , my JDeveloper Version is 11.1.2.1.0
    also , because of the EmpDetails is based on the query
    FROM EMPLOYEES Employees, DEPARTMENTS Departments
    WHERE Employees.DEPARTMENT_ID = Departments.DEPARTMENT_ID
    and the Department id is non editable value , that means even if you add a new user u cant never check this user in this interface , u can check this user only on DB (SQL) level .
    Edited by: 876602 on Jul 1, 2012 5:17 AM

  • Dynamically invoke methods of abstract class?

    Hi,
    I am using reflection to write a class (ClassA) to dynamically invoke methods of classes. I have an abstract class (ClassB) that has some of the methods already implemented, and some of the methods that are declared abstract. Is there any way that I can:
    (a) invoke the methods that are already implemented in ClassB;
    (b) I have another class (ClassC) that extends ClassB, some of the methods are declared in both classes. Can I dynamically invoke these methods from ClassB?
    Thanks in advance,
    Matt.

    Ok, the program is quite long, as it does other things as well, so I'll just put in the relevant bits.
    What I have is a JTree that displays classes selected by the user from a JFileChooser, and their methods.
    // I declare a variable called executeMethod
    private static Method executeMethod;
    // objectClass is a class that has been chosen by the user.  I create a new instance of this class to execute the methods.
    Object createdObject = objectClass.newInstance();
    // methodName is the method selected by the user.  objectClassMethods is an array containing all the methods in the chosen class.
    executeMethod = objectClassMethods[j].getDeclaringClass().getMethod(methodName, null);
    Object executeObject = executeMethod.invoke(createdObject, new Object[]{});Ok, here are the test classes:
    public abstract class ClassB{
         private int age;
         private String name;
         public ClassB(){ age = 1; name="Me";}
         public int getAge(){ return age; }
         public String getName(){ return name; }
         public void PrintAge(){System.out.println(age);}
         public void PrintName(){System.out.println(name);}
         public abstract void PrintGreeting();
    public class ClassC extends ClassB{
         public ClassC(){super();}
         public void PrintAge(){
              System.out.println("I am " + getAge() + " years old.");
         public void PrintGreeting(){
           System.out.println("Hello");
    }Now, I can print out the PrintAge method from ClassC (i.e. have it output "Hello" to the command line, how can I, say, get it to output the result of PrintName from ClassB, this method does not appear in ClassC. As you can see at the top, I can create a new instance of a normal method (in this case, ClassC), and have it output to the command line, but I know that I can't create a new instance of an abstract class. And since PrintName is implemented in abstract class ClassB, how do I get it to output to the command line?
    Thanks,
    Matt.

  • Error 1026 invalid reference at runVI invoke method in main exe- subVI- subpanel

    Hello,
    I have a main VI which have subVI's inside case structures set up to show FP when called and be modal.
    These subVIs have a subpanel that will pull up a dynamicVI using RunVI invoke method.The dymaicVIs path is built using application directory constant+the VI name to the invoke method.
    now the main VI is built into exe with the dynamicVIs in always included list. 
    when i run the main exe i am getting 1026 error VI reference invalid. 
    Plz help
    Thanks
    Solved!
    Go to Solution.

    Hi Freemason,
    The problem could be coming from the use of relative paths, because the path can sometimes change when building an application. Double check to make sure they are calling the right path. You can also try changing the AutoDispose Refnum in your run VI invoke node to false. It is one of the methods you can select in your run VI invoke node. If neither of these solutions work, run your code using the highlight execution function. If you implemented error handling in your program, you should be able to see the source of the error.
    If you’re still having issues, could you post some screenshots or your actual VI? I may be able to get a better idea of the issue that way. I’ve also attached an example VI that uses multiple subVIs and a subpanel for reference.  Hope this helps.
    Paul C
    Applications Engineer
    National Instruments
    Attachments:
    Multiple VIs in a Subpanel.vi ‏19 KB

  • SEVERE: Caught an exception while invoking method 'setFlag' on object 'Lock

    While try to run load test data , I got the exception as follows..
    SEVERE: Caught an exception while invoking method 'setFlag' on object 'LockManager'. Releasing locks.
    java.lang.reflect.InvocationTargetException
    Finally I got a hint ,
    "If the running Deployment Template script breaks halfway through its execution due to an unhandled
    exception, or is manually interrupted by a user pressing Ctrl-C while it is running, the lock remains
    set within the EAC"
    The resolution is ,
    On Windows: .\runcommand.bat LockManager releaseLock
    update_lock
    On UNIX: ./runcommand.sh LockManager releaseLock up¬
    date_lock

    After spending some time on this, I looked at the source code for com.evermind.server.ThreadState
    This is the code that throws the exception:
    if(applicationThread != null && applicationThread.httpHandler != null && applicationThread.servletInfo != null)
    try
    server = applicationThread.httpHandler.request.getApplication().getApplication().getServer();
    catch(Throwable t)
    System.out.println("caught exception while getting the server instance " + t.getMessage());
    t.printStackTrace(System.out);
    It looks like this method expects a httpRequest, and would find null because I'm in the servlet.init()
    (at least, that's my interpretation)
    I tested my code (the remoteFacade.create()) inside of a jsp, and it worked...
    So, the next logical question is:
    Can I make EJB calls from within the init method of a servlet? (or more specifically from a struts plugin, which I believe should be more or less the same thing)
    If so, do I need to take extra steps?
    Again, any experience/help on this will be much appreciated.
    Thanks,
    Christophe.

  • Silverlight, wcfRIA, how to trap completion of an [Invoke] method in DomainService1.cs

    this piece of code:
    protected void recalculateMetrics(object sender, RoutedEventArgs e)
    int daysToAverageOver = 20; // for a 20 day moving average
    context.recalculateMetrics(daysToAverageOver, invokeOperation_ExitHandler, null);
    context.deleteOldClosingPrices(invokeOperation_ExitHandler, null);
    context.deleteAnyOldStockNames(invokeOperation_ExitHandler, null);
    context.updateAllPortfolios(invokeOperation_ExitHandler, null);
    context.updateTheCountersInAllPortfolios(nowRefreshScreen_ExitHandler, null);
    context.zeroOutAnyUnaverageableStocks(daysToAverageOver, invokeOperation_ExitHandler, null);
    context.SubmitChanges();
    context.SendEmails();
    context.Load<stk_StockNames>(context.getMissingStockNamesQuery(), LoadBehavior.RefreshCurrent, returnSet =>
    fires off a whole bunch of [Invoke] methods in DomainService1.cs, which all execute asynchronously.
    Once updateAllPorfolios() and updateThe CountersInAllPortfolios () are completed, then the client screen should refresh with the new numbers.  You can see me trapping the completion event of the Invoke operation.  But how do I trap the completion
    of the actual async method?  I figure that IAsyncResult is involved.  I have googled around all the forums without being able to see how to do it in this particular case.
    Any help appreciated.

    I don't really follow your question.
    You appear to be supplying callbacks there.
    They fire when the process is complete and you get a result back from the server.
    If I illustrate this with a piece of my code thus:
    private void LoadSites()
    siteService.LoadSiteList(LoadSiteListCallback, null);
    private void LoadSiteListCallback(ServiceLoadResult<Site> result)
    IEnumerable<Site> _sites = result.Entities.OrderBy(x => x.Description);
    ObservableCollection<Site> sts = new ObservableCollection<Site>();
    foreach (var item in _sites)
    sts.Add(item);
    Sites = sts;
    ADGroupSites = new ObservableCollection<AdminADGroupSiteVM>();
    RaisePropertyChanged("Sites");
    RaisePropertyChanged("ADGroupSites");
    LoadSiteList is called asynchronously.
    Processing returns from LoadSites.
    When the server returns the data LoadSiteListCallback is invoked and it does stuff with the data.
    Please don't forget to upvote posts which you like and mark those which answer your question.
    My latest Technet article - Dynamic XAML

  • Invoking method on different thread

    Hi
    I'm developing an addin a application. The addin runs on the main thread. However I need to perform some blocking system calls, which can't be called from the main thread, since it also blocks the application. Therefore, I have a worker thread which performs the blocking call. When the blocking call returns, I need to invoke a method on the main thread. The method must be executed by the main thread, because the method uses some of the applications api functions. If these api functions are called from any other thread than the main thread, the application will crash.
    My problem is that I dont know how to invoke a method on a different thread. I guess I need to do the same thing as the SWING package, where gui components should be modified from the event dispatcher thread.
    Simplyfied, my code looks something like this:
    public class Main
        public static void main(String[] args)
           Main m = new Main();
           m.Test();
        public void Test()
            //runs on main thread here
            //start a new thread which blocks while waiting for user input (simulate my service)
            ThreadClass tc = new ThreadClass();
            new Thread(tc).start();
            while (true)
               //perform normal work on gui thread
               Thread.yield();         
       public void MethodNeedsToRunOnMainThread(int c)
           //Do something on main thread here
    public class ThreadClass implements Runnable
        public void run()
            ThreadFunction();
        public void ThreadFunction()
            int c = System.in.read(); //blocking call
            //Invoke method on main thread here!   
            MethodNeedsToRunOnMainThread(int c);
        }Hope some of you might point me in the rigth direction!
    \Bjarne

    pdm wrote:
    Using a BlockingQueue, the main thread will block while waiting for something to be put in the queue by the worker thread. This will block the program in which my add-in runs, since the main thread is responsible for gui updates etc. Therefore, this is not an option.
    Maybe it is simply not possible to what I need.
    \Bjarnedepending on what kind of responsiveness you need, you could make your add-in periodically check for these events. call poll() instead of take(), and then continue on with your add-in if poll() returns nothing. the frequency with which your code polls the queue will determine the lag between queueing from the other thread and executing on the main thread.

Maybe you are looking for

  • Mini (2009) and Mini-DVI to video (s-video) does not work?

    Before I return the mini and adapter I just need to confirm what I've read in other threads. The Mini-DVI to Video adapter is useless with the latest Mac mini's. And there is really no simple way to get s-video or composite video from the newest mini

  • Printable Report Query Problem

    I am attempting to develop a printable report query. I have created a report query under shared components that consists of 12 separate queries that gather data that all relates to a single page item. The intent is to create a printed PDF document fo

  • AppleWorks versus MicroSoft 2008 for Mac

    Hi ALL, How is it possible to open AppleWorks files with MicroSoft 2008 for Mac ?? Maybe it is possible to open these files with Excel. I have a lot of older files I need to open in any application now I running Tiger. I need these files again, ones

  • Problem displaying some pages since upgrade of leopard

    Hello everyone Is anyone experiencing difficulties after the new leopard upgrade. It all seemed to go well until I tried to read some of my pages. What is weird is that the pages are published and functionning well if accessed from the http..mydomain

  • Need sequence on resultset without using ROWNUM

    I need to query some data from a SQLServer 2000 database (which don't have analytic SQl capibilities) and load it into Oracle 10g Warehouse. It must be done in a query, SQLServer don't do cursor very well. So I need a ANSI standard Query. I need a wa