Problem with initializing a class object

I am trying to write a more modified version of the infamous SimpleBrowser by allowing for the WebBrowser object property to receive a given java.net.URL object.
private final WebBrowser webBrowser = new WebBrowser();
     * Perform setup
    private void setupSimpleBrowser() {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                initObjects();
                initComponents();
     * Initialize objects
    private void initObjects() {
        WebBrowser.setDebug(true); // SET TO TRUE TO SEE trace() DEBUG STATEMENTS
     * Initialize components
    private void initComponents() {
        setTitle(myName);
        generateWebBrowser();
        webAddressTextField = new JTextField(51);
        generateJButton();
        p1 = new JPanel();
        p2 = new JPanel();
        addToPanel();
        forceTFFocus();
        addToFrame();
        showFrame();
     * Generate {@link #webBrowser}
    private void generateWebBrowser() {
        //Use below code to check the status of the navigation process,
        //or register a listener for the notification events.
        webBrowser.addWebBrowserListener(
                new WebBrowserListener() {
            boolean isFirstPage = true;
            public void downloadStarted(WebBrowserEvent event) {;}
            public void downloadCompleted(WebBrowserEvent event) {;}
            public void downloadProgress(WebBrowserEvent event) {;}
            public void downloadError(WebBrowserEvent event) {;}
            public void documentCompleted(WebBrowserEvent event) {
                // Uncomment below code to test getContent()/setContent()/
                // executeScript() APIs.
                // As the setContent() call will invoke this event, which falls
                // into a loop, so check if this event is fired by the first
                // loaded page.
                if (isFirstPage) {
                    testDOMAPI(webBrowser);
                    isFirstPage = false;
            public void titleChange(WebBrowserEvent event) {;}
            public void statusTextChange(WebBrowserEvent event) {;}
            public void windowClose(WebBrowserEvent event) {;}
            public void initializationCompleted(WebBrowserEvent event) {;}
        setWebBrowserURL();
        System.out.println(webBrowser.getURL().toString());
     * Set {@link #webBrowser} with either instantiable {@link java.net.URL} or with {@link #DEFAULT_URL_PATH}
    private void setWebBrowserURL() {
        try {
            URL url = getURL();
            System.out.println("url = " + url);
            String urlPath = getURLPath();
            System.out.println("urlPath = " + urlPath);
            if (url != null) {
                webBrowser.setURL(url);
            } else if (urlPath != null && !urlPath.equals("")) {
                webBrowser.setURL(new URL(urlPath));
            } else {
                System.out.println("setting webBrowser with " + DEFAULT_URL_PATH);
                webBrowser.setURL(new URL(DEFAULT_URL_PATH));
                System.out.println("set up initial homepage of " + DEFAULT_URL_PATH);
        } catch (Exception e) {
            try {
                System.out.println("oops! setting webBrowser with " + DEFAULT_URL_PATH);
                webBrowser.setURL(new URL(DEFAULT_URL_PATH));
            } catch (Exception e2) {
                e2.printStackTrace();
    }However, the moment you leave setWebBrowserURL(), or somehow, within the Thread that is running between setWebBrowserURL() and the System.out.println() line, this happens:
url = null
urlPath = null
setting webBrowser with http://java.net
set up initial homepage of http://java.net
*** Jtrace: You can't call this method before WebBrowser is initialized!
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at com.ppowell.tools.ObjectTools.SimpleBrowser.generateWebBrowser(SimpleBrowser.java:349)
        at com.ppowell.tools.ObjectTools.SimpleBrowser.initComponents(SimpleBrowser.java:384)
        at com.ppowell.tools.ObjectTools.SimpleBrowser.access$600(SimpleBrowser.java:42)
        at com.ppowell.tools.ObjectTools.SimpleBrowser$4.run(SimpleBrowser.java:447)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
*** Jtrace: Process event to native browser: -1, 0,
*** Jtrace: Send data to socket: -1,0,</html><body></html>I can't figure out why webBrowser will not allow for me to determine the given java.net.URL object parameter which will allow for the display of the given URL.
This is based upon http://www.koders.com/java/fidC1435DC25F674DBFCB9C50BE409180D2CAD108E1.aspx
Thanx
Phil

I believe your NullPointerException is happening at
this line (without seeing the line numbers in your
source file, which YOU can do):
>
System.out.println(webBrowser.getURL().toString());
Isn't that line 349, related to this part of the
stack trace?
atcom.ppowell.tools.ObjectTools.SimpleBrowser.generateWe
bBrowser(SimpleBrowser.java:349)
If so, then I'd conclude that webBrowser.getURL() is
returning null, so you can't invoke toString() on
that.It is line 349, it is the line that has System.out.println(webBrowser.getURL().toString()), Removing that line removes the NullPointerException being thrown, however, now I am suddenly unable to use setURL() as it constantly receives a null value when I am clearly sending it a non-null value.
     * Set {@link #webBrowser} with either instantiable {@link java.net.URL} or with {@link #DEFAULT_URL_PATH}
    private void setWebBrowserURL() {
        try {
            URL url = getURL();
            System.out.println("url = " + url);
            String urlPath = getURLPath();
            System.out.println("urlPath = " + urlPath);
            if (url != null) {
                webBrowser.setURL(url);
            } else if (urlPath != null && !urlPath.equals("")) {
                webBrowser.setURL(new URL(urlPath));
            } else {
                System.out.println("setting webBrowser with " + DEFAULT_URL_PATH);
                webBrowser.setURL(new URL(DEFAULT_URL_PATH));
                System.out.println("set up initial homepage of " + DEFAULT_URL_PATH);
        } catch (Exception e) {
            try {
                System.out.println("oops! setting webBrowser with " + DEFAULT_URL_PATH);
                webBrowser.setURL(new URL(DEFAULT_URL_PATH));
            } catch (Exception e2) {
                e2.printStackTrace();
    }Phil

Similar Messages

  • How to call a Derived call fucntion with a base class object ?

    Hi all
    i am working on a JNI interface to Java, and in the process of simulating a C++ behaviour in java
    so i need some help form you people, in this regard.
    here is a c++ code, i need a equivalent fucntionality in java , to put it one word, the question is
    how to implement the dynamic_cast functionality in java, as java also has virtual fucntions, i think
    this should be possible, if it is not, what is the alternative
    class Base
    public:
         Base()
         ~Base()
         virtual void F1()
              cout<<"The BASE::F1() is called"<<endl;
         virtual void F2()
              cout<<"The BASE::F2() is called"<<endl;
    class Derived : public Base
    public:
         Derived()
         ~Derived()
         virtual  void F3()
              cout<<"The Derived::F3() is called"<<endl;
         virtual void F4()
              cout<<"The Derived::F4() is called"<<endl;
    Base * GetDerived()
         return new Derived();
    int _tmain(int argc, _TCHAR* argv[])
         Base *ptr = NULL;
                    ptr  = GetDerived();
         Derived *dPtr = dynamic_cast<Derived *>(ptr);
                    dPtr->F3();
    }regards
    pradish

    Just to clarify a point that I consider important--the distinction between references and objects:
    Your subject is: How to call a Derived call fucntion with a base class object ? The answer to that is: You cannot. It is completely impossible in Java. If you have a base class object, the derivced class' methods are not present. On the other hand, if you have a compile-time reference of the parent type, but at runtime it happens to point to an instance of the derived class, then, as pointed out, you can cast the reference. (Note that casting does not apply to objects.)

  • Problem with static and nonstatic objects in same code?

    Hi everyone, I am working on a project and I kept running into an odd problem where my code would compile but when I went to run the code I would get an exception. I finally narrowed my problem down to a small fragment. Here is an example.
    class Mut{
    static Mut Fido = new Mut();
    Mut Sammy = new Mut();
    public static void main(String args[]){
    This piece of code will compile but when I run it on an WindowsXP machine the JRE tells me there is an exception at line 3. If I change the code to this:
    class Mut{
    static Mut Fido = new Mut();
    static Mut Sammy = new Mut();
    public static void main(String args[]){
    The code runs fine without any problems. My question is: why can't I create a static object and a nonstatic object in the same class? Is this a certain feature of JAVA I don't understand or is this a blackbox problem with XP? Any help is appreciated. Thanks
    Vance

    Is the exception stack trace what is displayed in the command-line window? If it is here is what is displayed(This is a lot):
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    at Mut.<init>(Mut.java:3)
    C:\>
    I don't know if this is everything because the winow won't let me scroll back up to where I enterd "java Mut"
    Hope this helps.
    Message was edited by: Vance
    cell@tech

  • Problem with reference and class

    I would like to transit a Data object in member function of another class with Labview 9.0 reference with "In place element structure". I use the reference for optimize allocation memory.
    When i use a dispatch static : Vi is executable  -> "TestRefAppExt Statique.vi"
    With Dispatch dynamic : Vi is not executable (because Read/Write a reference's data value : class's Object in a reference can't be replaced by another) -> "TestRefAppExt DynamiqueWithoutParent.vi"/"TestRefAppExt DynamiqueWityParent.vi"
    When i use Preserve Run-Time Class function the Vi becomes executable
    but it creates some allocations. Labview creates copy of data object
    when i'm running the vi. (increase size of data you'll see)
    The problem is that i can't recuparate the same object without copy in dispatch dynamic. Because LabView can't change the data object transited in a dispatch dynamic function of another class (child class).
    I compared in project labview Execution's performance with and without Reference in dynamic and static and for compare, with Message Box and a Reference of Data object's cluster.
    Without reference, i made three Vi : "TestAppExt Statique.vi", "TestAppExt DynamiqueWithParent.vi" and  "TestAppExt DynamiqueWithoutParent.vi"
    The static's function works well, but when Labview calls dispacth Dynamic functions, it works more slowly.
    With reference, i made three vi too : "TestRefAppExt Statique.vi", "TestRefAppExt DynamiqueWithParent.vi" and "TestRefAppExt DynamiqueWithoutParent.vi" with cast Preserve Run-Time Class.
    All This functions are more slowly than without reference.
    I tried for fun to test with the same class with Message Box : "TestRefAppExt Fifo.vi" and Cluster "TestRefAppExt DynamiqueCluster.vi" with the dynamic function. The result is better than with reference in dynamic.
    "TestRefAppExt StatiqueRef.vi" and "TestRefAppExt DynamiqueRef.vi" are a solution of this problem but it's better to work with In place element structure. And it doesn't resolve reference performance in execution.
    Why it's not possible to recuperate data object after a dispatch dynamic?
    Why the performance is not good with LabView reference 2009?
     I attached the project.
     Could you help me please
    thank you so much.
    Pascal
    Attachments:
    RefTest.zip ‏476 KB

    Yes, it helps but there is one thing that isn't being replicated which is the possibility to remove the link from the generated editor.
    My EMF looks like:
    @gmf.node(label="uri", figure="ellipse", label.edit.pattern="{0}", label.view.pattern="<<Class>> {0}", label.icon="false")
    class Class extends Resource {
    @gmf.link(target="subClassOf", target.decoration="arrow", label.text="subClassOf", label.readOnly="true")
    ref Class[*] subClassOf;
    And when I do the fix with self.subClassOf.remove(self) the link isn't removed (although now the model now passes the validation). Is there any easy way to do that?
    Regards

  • Problems with Java and Business Objects

    <p>Hello everybody,<br /><br />I&#39;m new in BusinessObjects/Crystal Report. Now, I have some problems with Business Objects for Java (Business Objects XI Release 2 Developer).</p><p> </p><p>1)  I create a report in the report designer. This report has a parameterfield. Before I run this report within a jsp web application I want fill the parameterfield with some values from the database. I found the following code snippet for this problem in your forum. But it don&#39;t works right, because it occurs a simple input field instead of a combo box with my database values. Where is my mistake? I need the combo box! (In debug mode I saw that the parameterfield was filled with my data!)</p><p><%@page import="com.crystaldecisions.report.web.viewer.CrystalReportViewer,com.crystaldecisions.sdk.occa.report.application.ReportClientDocument,<br />com.crystaldecisions.sdk.occa.report.application.OpenReportOptions,<br />com.crystaldecisions.sdk.occa.report.lib.ReportSDKExceptionBase,<br />java.io.IOException,<br />java.sql.Connection,<br />java.sql.DriverManager,<br />java.sql.ResultSet,<br />java.sql.SQLException,<br />java.sql.Statement,<br />java.util.Locale,<br />com.crystaldecisions.sdk.occa.report.application.DataDefController,<br />com.crystaldecisions.sdk.occa.report.data.FieldDisplayNameType,<br />com.crystaldecisions.sdk.occa.report.data.ParameterField,<br />com.crystaldecisions.sdk.occa.report.data.ParameterFieldDiscreteValue,<br />com.crystaldecisions.sdk.occa.report.data.Values,<br />com.crystaldecisions.sdk.occa.report.reportsource.IReportSource"%><%<br /><br />    try {<br /><br />        String reportName = "avoParameterfeld.rpt";<br />        ReportClientDocument clientDoc = (ReportClientDocument) session.getAttribute(reportName);<br /><br />        if (clientDoc == null) {<br />            // Report can be opened from the relative location specified in the CRConfig.xml, or the report location<br />            // tag can be removed to open the reports as Java resources or using an absolute path<br />            // (absolute path not recommended for Web applications).<br /><br />            clientDoc = new ReportClientDocument();<br />            clientDoc.setReportAppServer("inproc:jrc");<br />            // Open report<br />            clientDoc.open(reportName, OpenReportOptions._openAsReadOnly);<br /><br />             // Connection Info for fetching the resultSet<br />            String connectStr = "jdbc:oracle:thin:@it1srv19:1521:itoracle";<br />            String driverName = "oracle.jdbc.driver.OracleDriver";<br />            String userName = "user";        <br />            String password = "password";    <br /><br />            // TODO: Ensure this query is valid in your database. An exception will be thrown otherwise.<br />            String query = "SELECT DISTINCT AVONR FROM MBDEADM.AVO ORDER BY AVONR";<br />            ResultSet paramData = null;<br />           <br />            //we will now pass the resultset to the parameter to use as Default Values<br />            String parameterName = "AVONR2";<br />            int colIndex = 1; //this is the column in the ResultSet to use as the values<br />           <br />//            Load JDBC driver for the database that will be queried   <br />            Class.forName(driverName);<br /><br />            Connection connection = DriverManager.getConnection(connectStr, userName, password);<br />            Statement statement = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE , ResultSet.CONCUR_READ_ONLY);<br />           <br />            paramData = statement.executeQuery(query);<br />           <br />            DataDefController dataDefController = clientDoc.getDataDefController();<br />           <br />            ParameterField origParamField = (ParameterField)dataDefController.getDataDefinition().getParameterFields().findField(parameterName, FieldDisplayNameType.fieldName, Locale.getDefault());<br />            ParameterField newParamField = (ParameterField)origParamField.clone(true);<br />           <br />            Values newVals = (Values)newParamField.getDefaultValues().clone(true);<br />            newVals.clear(); <br />            paramData.first();<br />            while(!paramData.isLast()){<br />                ParameterFieldDiscreteValue value = new ParameterFieldDiscreteValue();<br />                value.setValue(paramData.getObject(colIndex));<br />                newVals.add(value);<br />                paramData.next();<br />            }<br />            <br />            dataDefController.getParameterFieldController().modify(origParamField, newParamField);<br />            // Store the report document in session<br />            session.setAttribute(reportName, clientDoc);<br /><br />        }<br /><br />            // ****** BEGIN CONNECT CRYSTALREPORTPAGEVIEWER SNIPPET **************** <br />            {<br />                // Create the CrystalReportViewer object<br />                CrystalReportViewer crystalReportPageViewer = new CrystalReportViewer();<br /><br />                //    set the reportsource property of the viewer<br />                IReportSource reportSource = clientDoc.getReportSource();               <br />                crystalReportPageViewer.setReportSource(reportSource);<br /><br />                // set viewer attributes<br />                crystalReportPageViewer.setOwnPage(true);<br />                crystalReportPageViewer.setOwnForm(true);<br /><br />                // Apply the viewer preference attributes<br /><br />                // Process the report<br />                crystalReportPageViewer.processHttpRequest(request, response, application, null);<br /><br />            }<br />            // ****** END CONNECT CRYSTALREPORTPAGEVIEWER SNIPPET ****************       <br /><br />    } catch (ReportSDKExceptionBase e) {<br />        out.println(e);<br />    }<br />   <br />%><br /><br /><br /><br />2) In a other report I tried to update the data source used by the report at runtime. I used the method &#39;setDataSource(ResultSet rs, String oldTableAlias, String newTableAlias)&#39; of the &#39;DatabaseController&#39;. I got a message like this: &#39;At present in Java reporting Component does not implement&#39;. I use JRC and the docs (http://support.businessobjects.com/global/interactive/xi/om/JRC/default.html) show me this method. Is it not possible to change the data at runtime in JRC? (I tried it with the methods &#39;setDataSource(IXMLDataSet rs, String oldTableAlias, String newTableAlias)&#39;, &#39;setDataSource(Object newds)&#39;, &#39;setDataSource(IDataSet ds, String oldTableAlias, String newTableAlias)&#39;, too. But the result was the same!)<br /><br /><br /><br />3) I tried to use Business Objects in JSF framework (Ver MyFaces 1.1.3) with the same samples above. But in JSF nothing work! I got the following exception. What is my problem? Can you get me a tutorial for jsf/BusinessObjects?<br /><br />08:21:43,165 ERROR [[Faces Servlet]] Servlet.service() for servlet Faces Servlet threw exception<br />javax.faces.FacesException: com.businessobjects.reports.sdk.JRCCommunicationAdapter<br />    at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:435)<br />    at org.apache.myfaces.application.jsp.JspTilesViewHandlerImpl.dispatch(JspTilesViewHandlerImpl.java:233)<br />    at org.apache.myfaces.application.jsp.JspTilesViewHandlerImpl.renderView(JspTilesViewHandlerImpl.java:219)<br />    at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:384)<br />    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)<br />    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)<br />    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)<br />    at de.itinformatik.mes.web.filter.SynchronizingFilter.doFilter(SynchronizingFilter.java:42)<br />    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)<br />    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)<br />    at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)<br />    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)<br />    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)<br />    at de.itinformatik.mes.web.ajax.aa.AAFilter.doFilter(AAFilter.java:54)<br />    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)<br />    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)<br />    at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)<br />    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)<br />    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)<br />    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)<br />    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)<br />    at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)<br />    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)<br />    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)<br />    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)<br />    at
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)<br />    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)<br />    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)<br />    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)<br />    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)<br />    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)<br />    at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)<br />    at java.lang.Thread.run(Thread.java:595)<br />Caused by: java.lang.ClassCastException: com.businessobjects.reports.sdk.JRCCommunicationAdapter<br />    at com.crystaldecisions.sdk.occa.report.application.ReportClientDocumentState.saveContents(Unknown Source)<br />    at com.crystaldecisions.sdk.occa.report.application.ReportClientDocumentState.save(Unknown Source)<br />    at com.crystaldecisions.xml.serialization.XMLObjectSerializer.save(Unknown Source)<br />    at com.crystaldecisions.sdk.occa.report.application.ReportClientDocument.writeExternal(Unknown Source)<br />    at com.crystaldecisions.sdk.occa.report.application.AdvancedReportSource.writeExternal(Unknown Source)<br />    at com.crystaldecisions.sdk.occa.report.application.NonDCPAdvancedReportSource.writeExternal(Unknown Source)<br />    at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1304)<br />    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1282)<br />    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073)<br />    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:291)<br />    at java.util.Hashtable.writeObject(Hashtable.java:813)<br />    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />    at java.lang.reflect.Method.invoke(Method.java:585)<br />    at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:890)<br />    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1333)<br />    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1284)<br />    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073)<br />    at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1245)<br />    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1069)<br />    at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1245)<br />    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1069)<br />    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:291)<br />    at java.util.ArrayList.writeObject(ArrayList.java:569)<br />    at sun.reflect.GeneratedMethodAccessor669.invoke(Unknown Source)<br />    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />    at java.lang.reflect.Method.invoke(Method.java:585)<br />    at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:890)<br />    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1333)<br />    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1284)<br />    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073)<br />    at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1245)<br />    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1069)<br />    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:291)<br />    at java.util.ArrayList.writeObject(ArrayList.java:569)<br />    at sun.reflect.GeneratedMethodAccessor669.invoke(Unknown Source)<br />    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />    at java.lang.reflect.Method.invoke(Method.java:585)<br />    at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:890)<br />    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1333)<br />    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1284)<br />    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073)<br />    at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1245)<br />    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1069)<br />    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:291)<br />    at org.apache.myfaces.application.jsp.JspStateManagerImpl.serializeView(JspStateManagerImpl.java:590)<br />    at org.apache.myfaces.application.jsp.JspStateManagerImpl.saveSerializedViewInServletSession(JspStateManagerImpl.java:493)<br />    at org.apache.myfaces.application.jsp.JspStateManagerImpl.saveSerializedView(JspStateManagerImpl.java:332)<br />    at org.apache.myfaces.taglib.core.ViewTag.doAfterBody(ViewTag.java:122)<br />    at org.apache.jsp.testCR_jsp._jspx_meth_f_view_0(org.apache.jsp.testCR_jsp:149)<br />    at org.apache.jsp.testCR_jsp._jspService(org.apache.jsp.testCR_jsp:83)<br />    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)<br />    at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)<br />    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)<br />    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)<br />    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)<br />    at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)<br />    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)<br />    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)<br />    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)<br />    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)<br />    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)<br />    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)<br />    at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:416)<br />    ... 32 more<br /><br /><br />Thanks for your assistance <br /><br />Tosch</p>

    Which Business Objects are you referring to.
    MS .NET has a thing called Business Objects but they only work in .NET.

  • Problems with SwingWorker and classes in my new job, ;), can you help me?

    Hi all, ;)
    First of all, sorry about my poor English.
    I have a problem with Swing and Threads, I hope you help me (because I'm in the firsts two weeks in my new job)
    I have two classes:
    Form1: Its a JPanel class with JProgressBar and JLabel inside.
    FormularioApplet: (the main) Its a JPanel class with a form1 inside.
    I have to download a file from a server and show the progress of the download in the JProgressBar. To make it I do this:
    In Form1 I make a Thread that update the progress bar and gets the fole from the server.
    In FormularioApplet (the main) I call to the method getDownloadedFile from Form1 to get the File.
    THE PROBLEM:
    The execution of FormularioApplet finishes before the Thread of Form1 (with download the file) download the file. Then, when I call in FormularioApplet the variable with the file an Exception: Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException is generated.
    First main begins his execution, then call to Form1 (a thread) then continues his execution and when the execution is finished ends the execution os Form1 and his thread.
    How can I do for main class call the function and the Thread download his file after main class assign the file of return method?
    How can I pass information froma class include an a main class. Form1 can't send to main (because main class made a Form1 f1 = new Form1()) any information from his end of the execution. I think if Form1 can say to main class that he finishes is job, then main class can gets the file.
    I put in bold the important lines.
    Note: My level of JAVA, you can see, is not elevated.
    THANKS A LOT
    Form1 class:
    package es.cambrabcn.signer.gui;
    import java.awt.HeadlessException;
    import java.io.ByteArrayOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.util.StringTokenizer;
    import java.util.Vector;
    import javax.swing.SwingUtilities;
    public class Form1 extends javax.swing.JPanel {
        //Variables relacionadas con la clase original DownloadProgressBar
        private InputStream file;
        private int totalCicles;
        private int totalFiles;
        private int currentProgress;
        private SwingWorker worker;
        private ByteArrayOutputStream byteArray;
        private boolean done;
        /** Creates new form prueba */
        public Form1() {
            initComponents();
            this.byteArray = new ByteArrayOutputStream();
            progressBar.setStringPainted(true);
            //this.totalFiles = totalFiles;
            currentProgress = 0;
        /** This method is called from within the constructor to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
        // <editor-fold defaultstate="collapsed" desc=" C�digo Generado ">                         
        private void initComponents() {
            label1 = new javax.swing.JLabel();
            progressBar = new javax.swing.JProgressBar();
            statusLabel = new javax.swing.JLabel();
            setBackground(new java.awt.Color(255, 255, 255));
            setMaximumSize(new java.awt.Dimension(300, 150));
            setMinimumSize(new java.awt.Dimension(300, 150));
            setPreferredSize(new java.awt.Dimension(300, 150));
            label1.setFont(new java.awt.Font("Arial", 1, 18));
            label1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
            label1.setText("Barra de progreso");
            statusLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
            statusLabel.setText("Cargando");
            org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
            this.setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
                    .addContainerGap()
                    .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, statusLabel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 280, Short.MAX_VALUE)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, progressBar, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 280, Short.MAX_VALUE)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, label1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 280, Short.MAX_VALUE))
                    .addContainerGap())
            layout.setVerticalGroup(
                layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(layout.createSequentialGroup()
                    .addContainerGap()
                    .add(label1)
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                    .add(progressBar, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                    .add(statusLabel)
                    .addContainerGap(73, Short.MAX_VALUE))
        }// </editor-fold>                       
        // Declaraci�n de variables - no modificar                    
        private javax.swing.JLabel label1;
        private javax.swing.JProgressBar progressBar;
        private javax.swing.JLabel statusLabel;
        // Fin de declaraci�n de variables                  
        public byte[] getDownloadedFile(String documentToSign){
             //Variables locales
             byte puente[] = null;
             try{
                //Leemos el documento a firmar
                StringTokenizer st = new StringTokenizer(documentToSign, ";");
                Vector<URL> fileURL = new Vector<URL>();
                HttpSender sender = new HttpSender(null);
                //Introducimos la lista de URLs de archivos a bajar en el objeto Vector
                for(; st.hasMoreTokens(); fileURL.add(new URL(st.nextToken())));
                //Para cada URL descargaremos un archivo
                for(int i = 0; i < fileURL.size(); i++) {
                    file = sender.getMethod((URL)fileURL.get(i));
                    if(file == null) {
                        Thread.sleep(1000L);
                        throw new RuntimeException("Error descarregant el document a signar.");
                    System.out.println("Form1 Dentro de getDownloadFile, Antes de startDownload()");
                    //Fijamos el valor del n�mero de ciclos que se har�n seg�n el tama�o del fichero
                    this.totalCicles = sender.returnCurrentContentLength() / 1024;
                    this.progressBar.setMaximum(totalCicles);
                    //Modificamos el texto del JLabel seg�n el n�mero de fichero que estemos descargando
                    this.statusLabel.setText((new StringBuilder("Descarregant document ")).append(i + 1).append(" de ").append(fileURL.size()).toString());
                    statusLabel.setAlignmentX(0.5F);
                    *//Iniciamos la descarga del fichero, este m�todo llama internamente a un Thread*
                    *this.startDownload();*
                    *System.out.println("Form1 Dentro de getDownloadFile, Despu�s de startDownload()");*
                    *//if (pane.showProgressDialog() == -1) {*
                    *while (!this.isDone()){*
                        *System.out.println("No est� acabada la descarga");*
                        *if (this.isDone()){*
                            *System.out.println("Thread ACABADO --> Enviamos a puente el archivo");*
                            *puente = this.byteArray.toByteArray();*
                            *System.out.println("Form1 getDownloadFile() tama�o puente: " + puente.length);*
                        *else{*
                            *Thread.sleep(5000L);*
    *//                        throw new RuntimeException("Proc�s de desc�rrega del document a signar cancel�lat.");*
            catch (HeadlessException e) {
                    //javascript("onSignError", new String[] {
                    //(new StringBuilder("UI: ")).append(e.getMessage()).toString()});
            e.printStackTrace();
            catch (MalformedURLException e) {
                    //javascript("onSignError", new String[] {
                    //(new StringBuilder("CMS: ")).append(e.getMessage()).toString()});
            e.printStackTrace();
            catch (HttpSenderException e) {
                    //javascript("onSignError", new String[] {
                    //(new StringBuilder("CMS: ")).append(e.getMessage()).toString()});
            e.printStackTrace();
            catch (InterruptedException e) {
                    //javascript("onSignError", new String[] {
                    //(new StringBuilder("CMS: ")).append(e.getMessage()).toString()});
            e.printStackTrace();
            //System.out.println("Form1 getDownloadFile() tama�o puente: " + puente.length);
            return puente;
        public void updateStatus(final int i){
            Runnable doSetProgressBarValue = new Runnable() {
                public void run() {
                    progressBar.setValue(i);
            SwingUtilities.invokeLater(doSetProgressBarValue);
        public void startDownload() {
            System.out.println("Form1 Inicio startDownload()");
            System.out.println("Form1 Dentro de startDownload, antes de definir la subclase SwingWorker");
            System.out.println(done);
            worker = new SwingWorker() {
                public Object construct() {
                    System.out.println("Form1 Dentro de startDownload, dentro de construct(), Antes de entrar en doWork()");
                    return doWork();
                public void finished() {
                    System.out.println("Form1 Dentro de startDownload, dentro de finished(), Antes de asignar done = true");
                    System.out.println(done);
                    done = true;
                    System.out.println("Form1 Dentro de startDownload, dentro de finished(), Despu�s de asignar done = true");
                    System.out.println(done);
                    statusLabel.setText("Completado, tama�o del archivo: " + (byteArray.size() / 1024) + "KB");
            System.out.println("Form1 Dentro de startDownload, antes de worker.start()");
            worker.start();
            System.out.println("Form1 Dentro de startDownload, antes de salir de startDownload");
            System.out.println(done);
            System.out.println("Form1 Dentro de startDownload, despu�s de worker.start()");
         * M�todo doWork()
         * Este m�todo descarga por partes el archivo que es necesario descargar, adem�s de actualizar
         * la barra de carga del proceso de carga de la GUI.
        public Object doWork() {
            System.out.println("Form1 doWork() this.byteArray.size(): " + this.byteArray.size());
            try {
                byte buffer[] = new byte[1024];
                for(int c = 0; (c = this.file.read(buffer)) > 0;) {
                    this.currentProgress++;
                    updateStatus(this.currentProgress);
                    this.byteArray.write(buffer, 0, c);
                this.byteArray.flush();
                this.file.close();
                this.currentProgress = totalCicles;
                updateStatus(this.currentProgress);
            } catch(IOException e) {
                e.printStackTrace();
            System.out.println("Form1 doWork() FINAL this.byteArray.size(): " + this.byteArray.size());
            //done = true;
            System.out.println("AHORA DONE = TRUE");
            return "Done";
        public boolean isDone() {
            return this.done;
    FormularioApplet class (main)
    package es.cambrabcn.signer.gui;
    import java.awt.Color;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.net.URL;
    import java.security.Security;
    import java.util.StringTokenizer;
    import java.util.Vector;
    import javax.swing.SwingUtilities;
    import netscape.javascript.JSObject;
    import org.bouncycastle.jce.provider.BouncyCastleProvider;
    import sun.security.provider.Sun;
    import be.cardon.cryptoapi.provider.CryptoAPIProvider;
    public class FormularioApplet extends java.applet.Applet {
        //Variables globales
        int paso = 0;
        private static final String JS_ONLOAD = "onLoad";
        private static final String JS_ONLOADERROR = "onLoadError";
        private static final int SIGNATURE_PDF = 1;
        private static final int SIGNATURE_XML = 2;
        //private String signButtonValue;
        private int signatureType;
        private String documentToSign;
        private String pdfSignatureField;
        private Vector<String> outputFilename;
        private Color appletBackground = new Color(255, 255, 255);
        private Vector<byte[]> ftbsigned;
         * Initializes the applet FormularioApplet
        public void init(){
            try {
                SwingUtilities.invokeLater(new Runnable() {
                //SwingUtilities.invokeAndWait(new Runnable() {
                //java.awt.EventQueue.invokeAndWait(new Runnable() {
                    public void run() {
                        try{
                            readParameters();
                            initComponents();
                        catch(FileNotFoundException e){
                            javascript(JS_ONLOADERROR, new String[] {
                                (new StringBuilder("Init: ")).append(e.getMessage()).toString()});
                            e.printStackTrace();                       
                        catch(IOException e) {
                            javascript(JS_ONLOADERROR, new String[] {
                                (new StringBuilder("Init: ")).append(e.getMessage()).toString()});
                            e.printStackTrace();
            catch (Exception e) {
                javascript(JS_ONLOADERROR, new String[] {
                    (new StringBuilder("Init: ")).append(e.getMessage()).toString()});
                e.printStackTrace();
            javascript(JS_ONLOAD, null);
        /** This method is called from within the init() method to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
        // <editor-fold defaultstate="collapsed" desc=" C�digo Generado ">
        private void initComponents() {
            this.setSize(350, 450);
            appletPanel = new javax.swing.JPanel();
            jPanel1 = new javax.swing.JPanel();
            jTextField1 = new javax.swing.JLabel();
            jPanel2 = new javax.swing.JPanel();
            label = new javax.swing.JLabel();
            jPanel3 = new javax.swing.JPanel();
            jButton1 = new javax.swing.JButton();
            jButton2 = new javax.swing.JButton();
            setLayout(new java.awt.BorderLayout());
            appletPanel.setBackground(new java.awt.Color(255, 255, 255));
            appletPanel.setMaximumSize(new java.awt.Dimension(350, 430));
            appletPanel.setMinimumSize(new java.awt.Dimension(350, 430));
            appletPanel.setPreferredSize(new java.awt.Dimension(350, 430));
            jPanel1.setBackground(new java.awt.Color(255, 255, 255));
            jPanel1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 102, 204)));
            jTextField1.setFont(new java.awt.Font("Arial", 1, 18));
            jTextField1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
            jTextField1.setText("SIGNATURA ELECTRONICA");
            org.jdesktop.layout.GroupLayout jPanel1Layout = new org.jdesktop.layout.GroupLayout(jPanel1);
            jPanel1.setLayout(jPanel1Layout);
            jPanel1Layout.setHorizontalGroup(
                jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(jPanel1Layout.createSequentialGroup()
                    .addContainerGap()
                    .add(jTextField1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 308, Short.MAX_VALUE)
                    .addContainerGap())
            jPanel1Layout.setVerticalGroup(
                jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(jPanel1Layout.createSequentialGroup()
                    .addContainerGap()
                    .add(jTextField1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 24, Short.MAX_VALUE)
                    .addContainerGap())
            jPanel2.setBackground(new java.awt.Color(255, 255, 255));
            jPanel2.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 102, 204)));
            label.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
            label.setIcon(new javax.swing.ImageIcon("C:\\java\\workspaces\\cambrabcn\\firmasElectronicas\\logo.gif"));
            org.jdesktop.layout.GroupLayout jPanel2Layout = new org.jdesktop.layout.GroupLayout(jPanel2);
            jPanel2.setLayout(jPanel2Layout);
            jPanel2Layout.setHorizontalGroup(
                jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(jPanel2Layout.createSequentialGroup()
                    .addContainerGap()
                    .add(label, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 308, Short.MAX_VALUE)
                    .addContainerGap())
            jPanel2Layout.setVerticalGroup(
                jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(jPanel2Layout.createSequentialGroup()
                    .addContainerGap()
                    .add(label)
                    .addContainerGap(229, Short.MAX_VALUE))
            jPanel3.setBackground(new java.awt.Color(255, 255, 255));
            jPanel3.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 102, 204)));
            //this.jButton1.setVisible(false);
            //this.jButton2.setVisible(false);
            jButton1.setText("Seg\u00fcent");
            jButton1.setAlignmentX(0.5F);
            //Cargamos el primer formulario en el JPanel2
            loadFirstForm();
            //Modificamos el texto del bot�n y el contador de pasos.
            //this.jButton1.setText("Siguiente");
            //this.jButton1.setVisible(true);
            //this.jButton2.setVisible(true);
            jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton1ActionPerformed(evt);
            jButton2.setText("Cancel\u00b7lar");
            jButton2.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton2ActionPerformed(evt);
            org.jdesktop.layout.GroupLayout jPanel3Layout = new org.jdesktop.layout.GroupLayout(jPanel3);
            jPanel3.setLayout(jPanel3Layout);
            jPanel3Layout.setHorizontalGroup(
                jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel3Layout.createSequentialGroup()
                    .addContainerGap()
                    .add(jButton1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 94, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 112, Short.MAX_VALUE)
                    .add(jButton2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 102, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap())
            jPanel3Layout.setVerticalGroup(
                jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel3Layout.createSequentialGroup()
                    .addContainerGap()
                    .add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                        .add(jButton2)
                        .add(jButton1))
                    .addContainerGap())
            org.jdesktop.layout.GroupLayout appletPanelLayout = new org.jdesktop.layout.GroupLayout(appletPanel);
            appletPanel.setLayout(appletPanelLayout);
            appletPanelLayout.setHorizontalGroup(
                appletPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(org.jdesktop.layout.GroupLayout.TRAILING, appletPanelLayout.createSequentialGroup()
                    .addContainerGap()
                    .add(appletPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel3, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addContainerGap())
            appletPanelLayout.setVerticalGroup(
                appletPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(org.jdesktop.layout.GroupLayout.TRAILING, appletPanelLayout.createSequentialGroup()
                    .addContainerGap()
                    .add(jPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                    .add(jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                    .add(jPanel3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap())
            add(appletPanel, java.awt.BorderLayout.CENTER);
        }// </editor-fold>
        private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
            this.destroy();
        private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        
            changeForms(this.paso);
        // Declaraci�n de variables - no modificar
        private javax.swing.JPanel appletPanel;
        private javax.swing.JButton jButton1;
        private javax.swing.JButton jButton2;
        private javax.swing.JPanel jPanel1;
        private javax.swing.JPanel jPanel2;
        private javax.swing.JPanel jPanel3;
        private javax.swing.JLabel jTextField1;
        private javax.swing.JLabel label;
        // Fin de declaraci�n de variables
         * M�todo readParameters
         * M�todo que inicializa los valores de los par�metros internos, recibidos por par�metro.
        private void readParameters() throws FileNotFoundException, IOException {
             ???????????????? deleted for the forum
            addSecurityProviders();
         * M�tode loadFirstForm
         * Aquest m�tode carrega a jPanel2 el formulari que informa sobre la c�rrega dels arxius
        private void loadFirstForm(){
            //Form1 f1 = new Form1(stream, i + 1, fileURL.size(), sender.returnCurrentContentLength(), appletBackground);
            //Form1 f1 = new Form1(fileURL.size(), sender.returnCurrentContentLength());
            Form1 f1 = new Form1();
            //Lo dimensionamos y posicionamos
            f1.setSize(310, 150);
            f1.setLocation(10, 110);
            //A�adimos el formulario al JPanel que lo contendr�
            this.jPanel2.add(f1);
            //Validem i repintem el JPanel
            jPanel2.validate();
            jPanel2.repaint();
            //Descarreguem l'arxiu a signar
            *System.out.println("FormularioApplet Dentro de loadFirstForm(), antes de llamar a getDownloadFile()");*
            *byte obj[] = f1.getDownloadedFile(this.documentToSign);*
            if (obj == null){
                System.out.println("Lo que devuelve f1.getDownloadedFile(this.documentToSign) es NULL");
            else{
                System.out.println("Lo que devuelve f1.getDownloadedFile(this.documentToSign) NO es NULL");
                System.out.println("obj: " + obj.length);
            this.ftbsigned.add(obj);
            System.out.println("FormularioApplet Dentro de loadFirstForm(), despu�s de llamar a getDownloadFile()");
            //Indicamos que el primer paso ya se ha efectuado
            this.paso++;
         * M�tode changeForms
         * Aquest m�tode carrega a jPanel2 un formulari concret segons el valor de la variable global "paso"
        private void changeForms(int paso){
            /*A cada paso se cargar� en el JPanel y formulario diferente
             * Paso previo: Se realiza en la inicializaci�n, carga el formulario, descarga el archivo y muestra la barra de carga.
             * Case 1: Se carga el formulario de selecci�n de tipo de firma.
             * Case 2: Se carga el formulario de datos de la persona que firma.
            this.paso = paso;
            switch(paso){
                case 1:
                    //Creamos un objeto de formulario (seleccion de tipo de firma)
                    Form2 f2 = new Form2();
                    //Lo dimensionamos y posicionamos
                    f2.setSize(310, 185);
                    f2.setLocation(10, 110);
                    //Quitamos el formulario 1 y a�adimos el formulario 2 al JPanel
                    this.jPanel2.remove(1);
                    this.jPanel2.add(f2);
                    //Validem i repintem el JPanel
                    jPanel2.validate();
                    jPanel2.repaint();
                    //Modificamos el contador de pasos.
                    this.paso++;
                    break;
                case 2:
                    //Creamos un objeto de formulario (seleccion de tipo de firma)
                    Form3 f3 = new Form3();
                    //Lo dimensionamos y posicionamos
                    f3.setSize(310, 175);
                    f3.setLocation(15, 130);
                    //Quitamos el formulario 1 y a�adimos el formulario 3 al JPanel
                    this.jPanel2.remove(1);
                    this.jPanel2.add(f3);
                    //Validem i repintem el JPanel
                    jPanel2.validate();
                    jPanel2.repaint();
                    //Modificamos el texto del bot�n y el contador de pasos.
                    this.jButton1.setText("Finalizar");
                    this.paso++;
                    break;
                default:
                    //Finalizar el Applet
                    //C�digo que se encargue de guardar el archivo en el disco duro del usuario
                    break;
        private void addSecurityProviders() throws FileNotFoundException, IOException {
            Security.addProvider(new CryptoAPIProvider());
            if (signatureType == SIGNATURE_PDF) {
                Security.addProvider(new BouncyCastleProvider());
            else {
                Security.addProvider(new Sun());
        private File createOutputFile(String filename, int index) {
            return new File((String)outputFilename.get(index));
        protected Object javascript(String function, String args[]) throws RuntimeException {
            //Remove
            if (true) return null;
            try {
                Vector<String> list = new Vector<String>();
                if(args != null) {
                    for(int i = 0; i < args.length; i++) {
                        list.addElement(args);
    if(list.size() > 0) {
    Object objs[] = new Object[list.size()];
    list.copyInto(objs);
    return JSObject.getWindow(this).call(function, objs);
    } catch(UnsatisfiedLinkError e) {
    e.printStackTrace();
    throw new RuntimeException((new StringBuilder()).append(e).append("\nFunci�: ").append(function).toString());
    } catch(Throwable e) {
    e.printStackTrace();
    throw new RuntimeException((new StringBuilder()).append(e).append("\nFunci�: ").append(function).toString());
    return JSObject.getWindow(this).call(function, new Object[0]);
    Edited by: Kefalegereta on Oct 31, 2007 3:54 AM
    Edited by: Kefalegereta on Oct 31, 2007 4:00 AM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        

    Look at iOS Troubleshooting Wi-Fi networks and connections  http://support.apple.com/kb/TS1398
    iPad: Issues connecting to Wi-Fi networks  http://support.apple.com/kb/ts3304
    iOS: Recommended settings for Wi-Fi routers and access points  http://support.apple.com/kb/HT4199
    Additional things to try.
    Try this first. Turn Off your iPad. Then turn Off (disconnect power cord) the wireless router & then back On. Now boot your iPad. Hopefully it will see the WiFi.
    Go to Settings>Wi-Fi and turn Off. Then while at Settings>Wi-Fi, turn back On and chose a Network.
    Change the channel on your wireless router. Instructions at http://macintoshhowto.com/advanced/how-to-get-a-good-range-on-your-wireless-netw ork.html
    Another thing to try - Go into your router security settings and change from WEP to WPA with AES.
    How to Quickly Fix iPad 3 Wi-Fi Reception Problems
    http://osxdaily.com/2012/03/21/fix-new-ipad-3-wi-fi-reception-problems/
    If none of the above suggestions work, look at this link.
    iPad Wi-Fi Problems: Comprehensive List of Fixes
    http://appletoolbox.com/2010/04/ipad-wi-fi-problems-comprehensive-list-of-fixes/
    Fix iPad Wifi Connection and Signal Issues  http://www.youtube.com/watch?v=uwWtIG5jUxE
    ~~~~~~~~~~~~~~~
    If any of the above solutions work, please post back what solved your problem. It will help others with the same problem.
     Cheers, Tom

  • Problems with my new class

    Hi all,
    I had a small applet that included a control panel and an Animation Panel for display. The Animation Panel was a seperate class which just had a table display. (AnimationPanel class)
    When the user selected one of the buttons from the controls I could display text in the table. e.g in the main class...
    AnimationPanel anim = new AnimationPanel();
    anim.animationTable.setValueAt("Hello",2,i);
    The problem with this was that the table was editable (which I didnt want), so following the java tutuorial I modified my AnimationPanel to include another class which creats the JTable and extends AbstractTableModel.
    Now I have the problem that when the user clicks a button as above I am getting huge errors and does not write to the cell.
    Could someone please tell me how I would be able to write to my table if the user clicks a button in my main applet class.
    Here is the seperate class that sets up the table etc...
    class MyAnimationTable extends AbstractTableModel {
    Object[][] data = {
    {"Carry: "," "," ", " ",
    {"X: "," ","0", "0",
    "0", "0", "0", "0", "0", "0"},
    {"Y: "," ","0", "0",
    "0", "0", "0", "0", "0", "0"},
    {"Sum: "," "," ", " ",
    String[] columnNames = {" ",
    "-128",
    "64 ",
    "32 ",
    "16",
    "8",
    "4",
    "2",
    "U"};
    /*animationTable = new JTable(data, columnNames);
    JScrollPane scrollPane = new JScrollPane(animationTable);
    animationTable.setPreferredScrollableViewportSize(new Dimension(400, 210));
    add(scrollPane);*/
    public int getColumnCount() {
    return columnNames.length;
    public int getRowCount() {
    return data.length;
    public String getColumnName(int col) {
    return columnNames[col];
    public Object getValueAt(int row, int col) {
    return data[row][col];
    * JTable uses this method to determine the default renderer/
    * editor for each cell. If we didn't implement this method,
    * then the last column would contain text ("true"/"false"),
    * rather than a check box.
    public Class getColumnClass(int c) {
    return getValueAt(0, c).getClass();
    * Don't need to implement this method unless your table's
    * editable.
    public boolean isCellEditable(int row, int col) {
    //Note that the data/cell address is constant,
    //no matter where the cell appears onscreen.
    if (col < 2) {
    return false;
    } else {
    return true;
    * Don't need to implement this method unless your table's
    * data can change.
    //anim.animationTable.setValueAt(" ",5,i);
    public void setValueAt(Object value, int row, int col) {
    /*if (DEBUG) {
    System.out.println("Setting value at " + row + "," + col
    + " to " + value
    + " (an instance of "
    + value.getClass() + ")");
    data[row][col] = value;
    fireTableCellUpdated(row, col);
    //if (data[0][col] instanceof Integer
    // && !(value instanceof Integer)) {
    //With JFC/Swing 1.1 and JDK 1.2, we need to create
    //an Integer from the value; otherwise, the column
    //switches to contain Strings. Starting with v 1.3,
    //the table automatically converts value to an Integer,
    //so you only need the code in the 'else' part of this
    //'if' block.
    //XXX: See TableEditDemo.java for a better solution!!!
    /*try {
    data[row][col] = new Integer(value.toString());
    fireTableCellUpdated(row, col);
    } catch (NumberFormatException e) {
    JOptionPane.showMessageDialog(AnimationPanel.this,
    "The \"" + getColumnName(col)
    + "\" column accepts only integer values.");
    // } else {
    data[row][col] = value;
    fireTableCellUpdated(row, col);
    /*if (DEBUG) {
    System.out.println("New value of data:");
    //printDebugData();

    Thanks, that works when I do this from current dir (C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\servlets-example
    \WEB-INF\classes) :
    set CLASSPATH=.;%CLASSPATH%
    And I have to put the User.java file in the util directory that is located up one directory (C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\servlets-example
    \WEB-INF\classes\util).
    package util;
    import java.io.*;
    import java.text.*;
    import java.util.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.sql.*;
    import util.User;But it still wont work from the num directory that I had in my original question. I tried setting my classpath to point to the num package:
    Set CLASSPATH=%CLASSPATH%;C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\jsp-examples\WEB-INF\classes\num
    and it gave me same error.
    Please advise or should I just live with the servlet calling the class in the util directory and forget about the num directory?

  • Problem with Import and Base Object

    Hi everyone
    Last week, I downloaded Flash CS5. I am trying different thing and here is the problem that I dont understand
    I wrote a package like that
    package {
        import flash.text.TextField;
        import fl.controls.Button;
        public class ex1 extends Sprite {
            public function ex1() {
               var myButton:Button = new Bu
    tton();
                var label:TextField         = new TextField();
                addChild(label);
    If I try to execute that script, the compiler returns error
    1046: Type was not found or was not a compile-time constant: Button.
    1180: Call to a possibly undefined method Button.
    If I insert in the main stage (with the Componet Editor) a Button in the main stage, and recompile it, no error.
    If I delete the Button in the main stage and recompile again, no error
    But, If I save the projet and reload it again, I've got the same error
    By the way, I dont have any problem with the textField()
    What is wrong with my setup.
    OTHER QUESTION:
    If in the ACTION FRAME (F9), I insert the folowing code:
    import ex1;
    var a:ex1 = new ex1();
    one more time, I've got error from the compiler. Why ?
    We cannot include a package in the ACTION FRAME ?
    Thanks for your help

    There are some things (including $.fileName) that just do not work in jsxbin's.
    I don't thing the exception hook will work either.
    Either use an ini file in a well known location (~/Desktop) or make sure your
    files are put in Presets/Scripts. That location can be determined with this bit
    of code:
    var SCRIPTS_FOLDER =
    new Folder(app.path + '/' +
    localize("$$$/ScriptingSupport/InstalledScripts=Presets/Scripts"));
    -X

  • A problem with struts -  DispatchAction class

    Hi,
    I am facing a problem with DispatchAction class in struts 1.1.
    Here is my senario:
    I have a two classes that extend DispatchAction - classA and classB.
    In classA, I have a start method. In classB, I have two methods - display and submit.
    When my application starts, my index.jsp does a logic:forward to the struts-config.xml file.
    e.g.:
    index.jsp<logic:forward name="startApp"/>
    struts-config.xml<form-beans>
         <form-bean name="testFormBean" type="package.testFormBean">
         </form-bean>
    </form-beans>
    <global-forwards>
         <forward name="startApp" path="/startApp.do?method=start"/>
    </global-forwards>
    <action-mappings>
         <action name="testFormBean"
    path="/startApp"
    parameter="method"
    validate="false"
    scope="request"
    type="package.StartAppActions">
         <forward name="successOneUser" path="/runSearch.do?method=display"/>
         </action>
         <action name="testBean"
    path="/runSearch"
    parameter="method"
    validate="false"
    scope="request"
    type="package.SearchActions">
                   <forward name="success" path="/html/jsps/success.jsp"/>
         </action>
    </action-mappings>
    when my application starts, the control goes to the index.jsp and then because of the logic forward goes to the start method of the /startApp action(i.e. the StartAppActions class). I return a ActionForward element with the value of "successOneUser".
    Uptill this point everything works fine.
    But now it should go the /runSearch element (i.e. SearchActions class) and the display method of it. But it is not going there. The error I am getting is action[runSearch] does not have a method named "start".
    I checked the value for the method parameter using the RAD/WSAD debugger, the value of parameter is "method" is still "start".
    I do not understand why it is not overiding the value of parameter "method" with display even though I am doing a
    <forward name="successOneUser" path="/runSearch.do?method=display"/> in the /startApp element, which should send the control to the display method of the [runSearch] element (i.e. in the startActions class).
    Can anyone tell me what the problem is ?
    Thanks in advance.
    kaushal

    Try this:
    Runtime.getRuntime().exec("your_batch_file.bat");
    where your_batch_file is:
    SET CLASSPATH=....(place all needed classes here)
    javac.exe filename
    must work,but there is some limitation...
    you must think to solve this problems.
    i hope that will help,
    Marius

  • Problems with Initial steps for Mapping with Java in XI 3.0

    Hi,
    I am having problems with a simple java mapping in XI 3.0. I have created another test class in my PC to test it ,and it works.
    But when I use it in a example mapping it does not work.
    I think the reason is because It cannot find the classes used in the XI server.
    What do I have to do to make it work ?
    Do I need to add / change / view something in the XI server?
    Thanks a lot...
    David

    Down by java mapping

  • Problem with ORA-24372 invalid object for describe

    I have unresolved problem with oracle message: ORA-24372 invalid object for describe. There is the client-server application which installed on users PCs. Client application is program on Delphi 7 that installed on several users PCs which works with Oracle DB 10g server (clients on users side 8.1.7) by means ODAC 5.7. Each user by means this application works with data on Oracle server. Each group of users uses its own schema. Each of this schema has grants to select data and execute procs in the main schema. During the time of operation I modified and compiled some procs in the main schema. As the result I found some depended Invalid objects in main schema. I recompiled them. There is no invalid objects in all schemas. But when I starts application in one user place (he uses for example schema X1) I see oracle message: ORA-24372 invalid object for describe. Other users in group which uses schema X1 works without this problem. There is finite aggregate of users of schema Х1 which has this message but some users of schema Х1 has no problem. All users has identical software and there is no any invalid objects in schemas! I try to start application on my PC using schema X1 and finds ORA-24372 then I try to start application on neighbors PC and it is all ok! It happened after I recompiled main schema in the time of users operation. What should I do to resolve this problem? Where to find the source of the problem: in client or in server?

    To Mr. Sven Weller
    The purpose of creation X1 (X2, Х3…) was restriction of users to access objects in the Main Schema. X1 has no any objects except function that returns her name for internal purposes. X1 has many synonyms for objects in the Main schema. There is no invalid objects in X1!

  • Problems with java.lang.Class in JDK1.3

    Hi,
    I have 3 problems with the reflection in java.lang.Class:
    1) In the specification of method java.lang.Class.getDeclaredFields() is wrote:
    "Returns .... This includes public, protected, default (package) access, and private fields ..."
    This means, that all private fields should be return too. But some private methods are not given back. ????
    2) In java.lang.Class.getDeclaredMethods()
    some public methods are not return. ????
    3) In java.lang.Class.getDeclaredMethods()
    If Class is an interface. The same problem like 2) ????
    Are they errors of java.lang.Class in JDK1.3 ????
    Thanks & sincerely.

    Not sure it makes a difference, but you left off the last part of the quote:
    This includes public, protected, default (package) access, and private classes and interfaces declared by the class, but excludes inherited classes and interfaces.
    Are these missing methods from inherited classes, or are they declared in the class itself?

  • A problem with initiating a BPEL process through its web service interface

    hi,
    i am trying to initiate the helloWorld BPEL process through its web service interface. i use a proxy class that i wrote and i use it from J#.net.
    this is the relevant code part:
    hello.HelloWorldBinding wsProxy = new hello.HelloWorldBinding();
    wsProxy.initiate("Hello");
    and the server shows the following message:
    ORABPEL-05002
    Message handle error.
    An exception occurred while attempting to process the message "com.collaxa.cube.
    engine.dispatch.message.invoke.InvokeInstanceMessage"; the exception is: Cannot
    decode properties.
    The process domain was unable to decode the properties for message guid 10, whic
    h are stored in column String index out of range: 3094; the exception reported i
    s: {2}.
    sql statement: SELECT conv_id, message_guid, domain_ref, process_id, revision_ta
    g, operation_name, receive_date, state, priority, properties FROM invoke_message
    WHERE message_guid = ?
    at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(Dispatc
    hHelper.java:152)
    at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseSche
    duledWorker.java:70)
    at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java
    :86)
    at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDriven
    BeanInvocation.java:123)
    at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome
    .java:755)
    at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:
    928)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(Relea
    sableResourcePooledExecutor.java:186)
    at java.lang.Thread.run(Thread.java:534)
    <2006-05-10 21:21:15,171> <ERROR> <default.collaxa.cube.engine.data> <BaseDeliveryPersistenceAdaptor::loadInvokeMetaDa
    java.lang.StringIndexOutOfBoundsException: String index out of range: 3094
    at java.lang.String.substring(String.java:1441)
    at com.collaxa.common.util.LVDecoder.decodeElement(LVDecoder.java:152)
    at com.collaxa.common.util.LVDecoder.decodeToMap(LVDecoder.java:45)
    at com.collaxa.cube.engine.adaptors.common.BaseDeliveryPersistenceAdaptor.loadInvokeMetaData(BaseDeliveryPersi
    r.java:2186)
    at com.collaxa.cube.engine.adaptors.common.BaseDeliveryPersistenceAdaptor.__loadInvoke(BaseDeliveryPersistence
    :2112)
    at com.collaxa.cube.engine.adaptors.common.BaseDeliveryPersistenceAdaptor.loadInvoke(BaseDeliveryPersistenceAd
    079)
    at com.collaxa.cube.engine.data.DeliveryPersistenceMgr.loadInvoke(DeliveryPersistenceMgr.java:357)
    at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:465)
    at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:335)
    at ICubeDeliveryLocalBean_StatelessSessionBeanWrapper16.handleInvoke(ICubeDeliveryLocalBean_StatelessSessionBe
    java:1796)
    at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHa
    7)
    at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:125)
    at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
    at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
    at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123)
    at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:755)
    at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:928)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
    at java.lang.Thread.run(Thread.java:534)
    what is the problem? how come i can't initiate the process?
    i will be happy if i could get help..
    thanks in advance

    can you initate the process from the bpel console successfully?
    if so can you use obtunnel from the installation to trace the soap message (that goes over the wire), my best guess in this case is a problem with a header (holding the wsa information) ..
    after starting obtunnel it will liesten to a custom port, and will forward the request to the engine, so you need to point your client to this new port..
    hth clemens

  • Problem with large option class during runtime 11.5.10

    It seems like our Oracle Configurator has a problem with loading multiple large option classes with about 10,000 items under it. We are running 11.5.10. My guess is that Oracle has to load everything in the option class and at some point the server just gives up after loading so much data.
    Basically the model looks like this and was set up by Oracle themselves in 04. Overtime the option classes grew.
    --Base model
    ----Model A instance 1
    --------option class
    ------------10000 items
    ----Model A instance 2
    --------option class
    ------------10000 items
    ----Model A instance 50
    --------option class
    ------------10000 items
    Is there an optimal amount for an option class? Is the model structure possibly outdated and we should break up the option classes into models to alleviate some of the pain? Or are we at the limitation that Oracle Configurator can do and should peruse a custom solution?

    Funny thing really because the Case study for Chapter 4 is from our company that Oracle put together for us and its not working in the sense that it seems the servers can't handle the current model structure. I wouldn't blame the UI for these crashes and we already hide stuff from the user (ie, having to sort through all 10,000 items and hiding the BOM structure). Quick story of why i want to try and fix it is becuase the way its set up now in the model document is that 3 people could kill the server by basically saying "ok i selected this item for this location" (which would load the 10,000 items into memory on the server and not to the UI upon selection of the model) and then they would say... "ok now copy this selection to all these 50 places" (which would load those items again for each place that the item had to copied to) and BOOM server dead. I think sandeeps diagram of the changes is a really good idea and could help out alot and I tossed out that idea a few times before around my work place to help with the server issues. I feel that it would work but is it also possible that maybe configurator can't support our model the way they are wanting it to work?

  • Problems with generating persistent classes

    I've been following the tutorial for generating persistent classes from a
    DB. I'm not having much luck:
    First, with rd-schemagen, how do you tell it to only work on a specific
    schema? I run "rd-schemagen -file schema.xml NBS_ODS_101", but it still
    generates the schema file for all schemas in the DB. Is there a usage
    option for the tool (I haven't been able to find it yet)?
    Second, I have the following tables in my DB: ACT, ACT_ID, ENTITY,
    ENTITY_ID. When rd-reversemappingtool runs on these tables, it creates an
    ID class for ACT (ActId) which conflicts with the class generated for
    ACT_ID (ActId). Since renaming the tables is not an option and I really
    don't want to have to rename classes and change the mapping file every
    time I regenerate, what is a solution for this problem?
    Third, if I do the latter above so I can run the importtool and then I
    run "rd-importtool test\test.mapping", it runs successfully for a bit
    while spitting out information until I get this:
    Exception in thread "main" java.lang.NullPointerException
    at
    com.solarmetric.rd.kodo.impl.jdbc.meta.compat.ImportTool.mapForeignKe
    y(ImportTool.java:336)
    at
    com.solarmetric.rd.kodo.impl.jdbc.meta.compat.ImportTool.mapField(Imp
    ortTool.java:207)
    at
    com.solarmetric.rd.kodo.impl.jdbc.meta.compat.ImportTool.importMappin
    gs(ImportTool.java:78)
    at com.solarmetric.rd.kodo.impl.jdbc.meta.compat.ImportTool.run
    (ImportTo
    ol.java:408)
    at com.solarmetric.rd.kodo.impl.jdbc.meta.compat.ImportTool.main
    (ImportT
    ool.java:385)

    Abe White <[email protected]> wrote in
    news:[email protected]:
    First, with rd-schemagen, how do you tell it to only work on a specific
    schema? I run "rd-schemagen -file schema.xml NBS_ODS_101", but it still
    generates the schema file for all schemas in the DB. Is there a usage
    option for the tool (I haven't been able to find it yet)?Try using -schemas <comma-separated list of schema names>
    I apologize for the documentation in this area. We're going to upgrade
    the tool and the documentation to a more recent version from our internal
    R&D codebase when our 2.5 release comes out in the next couple of weeks.
    This release will also include a system for customizing the tool's output
    in many more ways.This works:
    rd-schemagen -file schema.xml -indexes false -schemas NBS_ODS_101
    but this does not:
    rd-schemagen -file schema.xml -indexes false -schemas NBS_ODS_101,NBS_SRT_
    101
    Exception in thread "main" java.lang.IllegalArgumentException:
    com.solarmetric.r
    [email protected] = NBS_ODS_
    101,NBS_SRT_10
    1: java.lang.ArrayIndexOutOfBoundsException: 1
    at serp.util.Options.setInto(Options.java:206)
    at serp.util.Options.setInto(Options.java:168)
    at com.solarmetric.rd.conf.Configurations.populateConfiguration
    (Configur
    ations.java:144)
    at com.solarmetric.rd.kodo.impl.jdbc.schema.SchemaGenerator.main
    (SchemaG
    enerator.java:690)
    Second, I have the following tables in my DB: ACT, ACT_ID, ENTITY,
    ENTITY_ID. When rd-reversemappingtool runs on these tables, it creates
    an ID class for ACT (ActId) which conflicts with the class generated for
    ACT_ID (ActId)This is a bug, and will also be fixed with 2.5. I can't even think of a
    good way to tell you to work around it for now, unfortunately.I renamed the ID classes to ActOid and EntityOid and changed the .jdo file
    to reflect that. Do you see any problems with this strategy?
    Third, if I do the latter above so I can run the importtool and then I
    run "rd-importtool test\test.mapping", it runs successfully for a bit
    while spitting out information until I get this:
    Exception in thread "main" java.lang.NullPointerExceptionCan you please send the generated .mapping, .jdo, and .java files?
    Unless you want to wait until the 2.5 improvements to debug.I will send you all the files in a zip file by email.

Maybe you are looking for

  • How to use a time capsule back up without a network

    Does any one know if there is a way to set up a hard line backup to a timecapsule?

  • Boot Camp no longer available after Mavericks upgrade?

    Hi, I've recently upgraded to Mavericks (MacBook 13" 2010). Since upgrading I have not been able to access BootCamp during start up. The partion still exists, but there seems to be some problem(s) with it. I've attached a screen shot of the issue as

  • Library locked on external drive

    Hi, I was using the Aperture on a PowerBook 17" laptop without problems. I was running out of space and copied the aperture library file on an external USB drive. It worked fine for a couple of weeks but than, after one import from my D200 stoped in

  • How to display amazon instant video on a tv

    I am trying to project an Amazon Prime movie from the Amazon Instant video App on my ipad to my TV. I am using this cable and connecting through an HDMI cable. http://store.apple.com/us/product/MD098ZM/A/apple-digital-av-adapter?fnode=3a I can see th

  • CRIO FPGA Compilation Error : xilinx 21955

    Hi all, I tried to compiled my first "real" application today, and how unexpected in the NI world: it didn't work ! I got myself a nice error message from xilinx : Regenerating IP... ERROR:coreutil - Failure to set parameters on core: Illegal combina