package com.sun.s1asdev.admin.ee.synchronization.api.deployment;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.*;
import javax.rmi.PortableRemoteObject;
import java.io.File;
import java.io.IOException;
import java.rmi.RemoteException;
import com.sun.enterprise.ee.synchronization.api.SynchronizationClient;
import com.sun.enterprise.ee.synchronization.api.SynchronizationFactory;
import com.sun.enterprise.ee.synchronization.SynchronizationException;
import com.sun.enterprise.ee.synchronization.api.ApplicationsMgr;
import com.sun.enterprise.server.ApplicationServer;
import com.sun.enterprise.config.ConfigContext;
public class SynchronizationEJB
implements SessionBean
{
private SessionContext context;
private Context initialCtx;
public void ejbCreate() {
}
public boolean getFile(String instanceName, String sourceFile,
String destLoc) {
try {
ConfigContext ctx = ApplicationServer.getServerContext().
getConfigContext();
ApplicationsMgr appSynchMgr = SynchronizationFactory.
createSynchronizationContext(ctx).getApplicationsMgr();
appSynchMgr.synchronize(sourceFile);
return true;
} catch(Exception e) {
e.printStackTrace();
return false;
}
}
public boolean get(String instanceName, String name, String type,
String destLoc) {
try {
ConfigContext ctx = ApplicationServer.getServerContext().
getConfigContext();
ApplicationsMgr appSynchMgr = SynchronizationFactory.
createSynchronizationContext(ctx).getApplicationsMgr();
if (type == null) {
return false;
}
if ( "J2EEApplication".equals(type) ) {
appSynchMgr.synchronizeJ2EEApplication(name);
return true;
}
if ( "WebModule".equals(type) ) {
appSynchMgr.synchronizeWebModule(name);
return true;
}
if ( "EJBModule".equals(type) ) {
appSynchMgr.synchronizeEJBModule(name);
return true;
}
if ( "ConnectorModule".equals(type) ) {
appSynchMgr.synchronizeConnectorModule(name);
return true;
}
if ( "AppclientModule".equals(type) ) {
appSynchMgr.synchronizeAppclientModule(name);
return true;
}
if ( "LifecycleModule".equals(type) ) {
appSynchMgr.synchronizeLifecycleModule(name);
return true;
}
return false;
} catch(Exception e) {
e.printStackTrace();
return false;
}
}
public boolean putFile(String instanceName, String sourceFile,
String destDir) {
try {
SynchronizationClient sc =
SynchronizationFactory.createSynchronizationClient( instanceName);
sc.connect();
String s = sc.put(sourceFile, destDir);
sc.disconnect();
System.out.println("Upload file at " + s);
return true;
} catch(Exception e) {
e.printStackTrace();
return false;
}
}
public void setSessionContext(SessionContext sc) {
this.context = sc;
try {
this.initialCtx = new InitialContext();
} catch (Throwable th) {
th.printStackTrace();
}
}
public void ejbRemove() {}
public void ejbActivate() {
System.out.println ("In SFSB.ejbActivate() " );
}
public void ejbPassivate() {
System.out.println ("In SFSB.ejbPassivate() ");
}
}