I believe it is because you are sharing the class definition, not instances,
even if they are static instances.

So webapp1 will create a static instance of Sharer, so will webapp2 off of
the same class definition, but each will have its own instance.


-----Original Message-----
From: java_is_everything [mailto:[EMAIL PROTECTED] 
Sent: Thursday, July 17, 2008 6:39 AM
To: users@tomcat.apache.org
Subject: Re: Doubt on lifecycle of a class in "shared" folder


Shared Class :

////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////
package client;

import java.util.ArrayList;

public class Sharer
{
        public static ArrayList listForOthers  = null;  
        
        static
        {
                System.out.println("STATIC ON WORK !!!!");              
        }

        public static ArrayList getListForOthers()
          {
                  if(listForOthers != null)
                  {
                          System.out.println("Returned is NOT NULL.");
                  }
                  else
                  {
                          System.out.println("Returned is NULL");
                  }
                  return listForOthers;
          }
          
          public static void setListForOthers(ArrayList list)
          {
                  listForOthers = new ArrayList();
                  
                  for(int i = 0; i < list.size(); i++)
                  {                       
                          ClientSideEvent ce = new ClientSideEvent();
                          ClientSideEvent ce2 = (ClientSideEvent)
list.get(i);
                          ce.setTimestamp(ce2.getTimestamp());
                          ce.setId(ce2.getId());
                          ce.setType(ce2.getType());
                          ce.setDescription(ce2.getDescription());
                          listForOthers.add(ce);
                  } 
          
          }
}
////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////





webapp2 :

////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////
package client;

import java.util.ArrayList;

import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.RootPanel;


/**
 * Entry point classes define <code>onModuleLoad()</code>.
 */
public class AnotherWelcomePage implements EntryPoint {

  /**
   * This is the entry point method.
   */
  public void onModuleLoad() {
          final Button button = new Button("Doosra Search");
          
          RootPanel.get("slot2").add(button);     
          
          ArrayList list = Sharer.getListForOthers();
          if(list != null)
          {
                  button.setText("Returning OK with " + list.size());
          }
          else
          {
                  button.setText("Problem !!!!!!");
          }
       }
}
////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////




webapp1 :

////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////
package client;

import java.util.ArrayList;

import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.Widget;

//import com.google.gwt.user.client.ui.;

/**
 * Entry point classes define <code>onModuleLoad()</code>.
 */
public class EntryPointClass implements EntryPoint {

  /**
   * This is the entry point method.
   */
  public void onModuleLoad() {
                
          ArrayList list = new ArrayList();
          ClientSideEvent event = new ClientSideEvent();
          
          final Button b = new Button("Initial Display");
          b.addClickListener(new ClickListener()
          {

                public void onClick(Widget sender) 
                {
                
                        ArrayList nowlist = Sharer.getListForOthers();
                        if(nowlist == null)
                        {
                                b.setText("Null returned");
                        }       
                        else
                        {
                                b.setText("Size is " +
Integer.toString(nowlist.size()));
                        }
                        
                }       
          });
          
          RootPanel.get("slot1").add(b);          
          event.setTimestamp(" time is money "); // It's ok, needs a string
          event.setId(222);
          event.setType("type");
          event.setDescription("description");
          list.add(event);
          Sharer.setListForOthers(list);
          
                
          //button.setText(Integer.toString(list.size()));
  }
}
////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////



Now, webapp1 sets the list size to 1. Now when Sharer.getListForOthers()
from webapp1, "Size is 1", while when Sharer.getListForOthers() from
webapp2, it shows "Problem !!!!!!".

Any light ?????????????????/



Ajay Garg

Mikolaj Rydzewski-2 wrote:
> 
> java_is_everything wrote:
>>     public int getA()
>>    {
>>        return a; 
>>    }
>>   
> [...]
>> value 123. But I don't .. :-(  Instead I get a null as returned value.
>>   
> It's impossible to return null from such method.
> 
> Show us complete code (both shared class and webapps).
> 
> -- 
> Mikolaj Rydzewski <[EMAIL PROTECTED]>
> 
> 
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 

-- 
View this message in context:
http://www.nabble.com/Doubt-on-lifecycle-of-a-class-in-%22shared%22-folder-t
p18502300p18505777.html
Sent from the Tomcat - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to