package multimonster.common.util; import java.rmi.RemoteException; import javax.ejb.CreateException; import javax.naming.Context; import javax.naming.NamingException; import javax.transaction.TransactionRolledbackException; import multimonster.controller.interfaces.ControllerImpl; import multimonster.controller.interfaces.ControllerImplHome; import multimonster.converter.interfaces.ConverterImpl; import multimonster.converter.interfaces.ConverterImplHome; import multimonster.edit.interfaces.EditImpl; import multimonster.edit.interfaces.EditImplHome; import multimonster.mediaaccess.interfaces.MediaAccessImpl; import multimonster.mediaaccess.interfaces.MediaAccessImplHome; import multimonster.mediaproxy.interfaces.MediaProxyImpl; import multimonster.mediaproxy.interfaces.MediaProxyImplHome; import multimonster.resourcemanager.interfaces.ResourceManagerImpl; import multimonster.resourcemanager.interfaces.ResourceManagerImplHome; import multimonster.systemadministration.interfaces.SystemAdministrationImpl; import multimonster.systemadministration.interfaces.SystemAdministrationImplHome; import multimonster.transporter.interfaces.TransporterImpl; import multimonster.transporter.interfaces.TransporterImplHome; import multimonster.usermanager.interfaces.UserManagerImpl; import multimonster.usermanager.interfaces.UserManagerImplHome; /** * @author Holger Velke (sihovelk) */ public class EjbCreator { public static ConverterImpl createConverter( ConverterImplHome home, Context context) throws RemoteException, CreateException, NamingException { ConverterImpl converter = null; try { converter = home.create(); } catch (CreateException e) { home = EjbHomeGetter.getConverterHome(context); converter = home.create(); } return converter; } public static SystemAdministrationImpl createSystemAdministration( SystemAdministrationImplHome home, Context context) throws RemoteException, CreateException, NamingException { SystemAdministrationImpl systemAdministration = null; try { systemAdministration = home.create(); } catch (CreateException e) { home = EjbHomeGetter.getSystemAdministrationHome(context); systemAdministration = home.create(); }catch (TransactionRolledbackException e){ home = EjbHomeGetter.getSystemAdministrationHome(context); systemAdministration = home.create(); } return systemAdministration; } public static ResourceManagerImpl createResourceManager( ResourceManagerImplHome home, Context context) throws RemoteException, CreateException, NamingException { ResourceManagerImpl resourceManager = null; try { resourceManager = home.create(); } catch (CreateException e) { home = EjbHomeGetter.getResourceManagerHome(context); resourceManager = home.create(); } return resourceManager; } public static MediaAccessImpl createMediaAccess( MediaAccessImplHome home, Context context) throws RemoteException, CreateException, NamingException { MediaAccessImpl mediaAccess = null; try { mediaAccess = home.create(); } catch (CreateException e) { home = EjbHomeGetter.getMediaAccessHome(context); mediaAccess = home.create(); } return mediaAccess; } public static UserManagerImpl createUserManager( UserManagerImplHome home, Context context) throws RemoteException, CreateException, NamingException { UserManagerImpl userManager = null; try { userManager = home.create(); } catch (Exception e) { home = EjbHomeGetter.getUserManagerHome(context); userManager = home.create(); } return userManager; } public static TransporterImpl createTransporter( TransporterImplHome home, Context context) throws RemoteException, CreateException, NamingException { TransporterImpl transporter = null; try { transporter = home.create(); } catch (CreateException e) { home = EjbHomeGetter.getTransporterHome(context); transporter = home.create(); } return transporter; } public static EditImpl createEdit( EditImplHome home, Context context) throws RemoteException, CreateException, NamingException { EditImpl Edit = null; try { Edit = home.create(); } catch (CreateException e) { home = EjbHomeGetter.getEditHome(context); Edit = home.create(); } return Edit; } public static MediaProxyImpl createMediaProxy( MediaProxyImplHome home, Context context) throws RemoteException, CreateException, NamingException { MediaProxyImpl mediaProxy = null; try { mediaProxy = home.create(); } catch (CreateException e) { home = EjbHomeGetter.getMediaProxyHome(context); mediaProxy = home.create(); } return mediaProxy; } public static ControllerImpl createController( ControllerImplHome home, Context context) throws RemoteException, CreateException, NamingException { ControllerImpl controller = null; try { controller = home.create(); } catch (CreateException e) { home = EjbHomeGetter.getControllerHome(context); controller = home.create(); } return controller; } }