|
ModelUpdateManager |
|
/*
* $Id: ModelUpdateManager.java,v 1.9.4.6 2001/04/05 21:51:39 lblair Exp $
* Copyright 2001 Sun Microsystems, Inc. All rights reserved.
* Copyright 2001 Sun Microsystems, Inc. Tous droits réservés.
*/
package com.sun.j2ee.blueprints.petstore.control.ejb;
import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Map;
import javax.ejb.EJBException;
import com.sun.j2ee.blueprints.util.tracer.Debug;
import com.sun.j2ee.blueprints.petstore.util.JNDINames;
import com.sun.j2ee.blueprints.petstore.control.event.EStoreEvent;
import com.sun.j2ee.blueprints.petstore.control.event.CartEvent;
import com.sun.j2ee.blueprints.petstore.control.event.SigninEvent;
import com.sun.j2ee.blueprints.petstore.control.event.AccountEvent;
import com.sun.j2ee.blueprints.petstore.control.event.OrderEvent;
import com.sun.j2ee.blueprints.petstore.control.event.SigninEvent;
import com.sun.j2ee.blueprints.petstore.control.event.LanguageChangeEvent;
/**
* This class uses the EStoreEvent type to deduce the list of
* models that need to be updated because of this event.
*/
public class ModelUpdateManager implements java.io.Serializable {
public ModelUpdateManager() {
}
/**
* @return a list of names of models that could have changed due to this event.
* The names chosen to refer to models is taken from JNDINames.
* @see com.sun.j2ee.blueprints.petstore.util.JNDINames
*/
public Collection getUpdatedModels(EStoreEvent ese) {
Debug.println("ModelUpdateManager: getUpdateModels");
ArrayList modelList = new ArrayList();
if (ese instanceof CartEvent) {
Debug.println("ModelUpdateManager: CartEvent");
modelList.add(JNDINames.CART_EJBHOME);
} else if (ese instanceof LanguageChangeEvent) {
Debug.println("ModelUpdateManager: LanguageEvent");
modelList.add(JNDINames.CART_EJBHOME);
} else if (ese instanceof AccountEvent) {
Debug.println("ModelUpdateManager: AccountEvent");
modelList.add(JNDINames.CUSTOMER_EJBHOME);
modelList.add(JNDINames.PROFILEMGR_EJBHOME);
// cover for language change that may occur
modelList.add(JNDINames.CART_EJBHOME);
} else if (ese instanceof OrderEvent) {
// do not need this functionality right now, OrderBean does not
// need to know of model change event.
Debug.println("ModelUpdateManager: OrderEvent");
modelList.add(JNDINames.CUSTOMER_EJBHOME);
Debug.println("ModelUpdateManager: OrderEvent : customer done");
modelList.add(JNDINames.INVENTORY_EJBHOME);
modelList.add(JNDINames.CART_EJBHOME);
} else if (ese instanceof SigninEvent) {
Debug.println("ModelUpdateManager: SigninEvent");
modelList.add(JNDINames.CUSTOMER_EJBHOME);
modelList.add(JNDINames.PROFILEMGR_EJBHOME);
// language may have changed so add the cart to the list
modelList.add(JNDINames.CART_EJBHOME);
}
return modelList;
}
}
|
ModelUpdateManager |
|