if (!apps.exists()) {
System.out.println("Directory does not exist: " + apps.getAbsolutePath());
}
Deployer deployer = null;
if (!offline) {
final Properties p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.RemoteInitialContextFactory");
final String serverUrl = line.getOptionValue("server-url", defaultServerUrl);
p.put(Context.PROVIDER_URL, serverUrl);
try {
final InitialContext ctx = new InitialContext(p);
deployer = (Deployer) ctx.lookup("openejb/DeployerBusinessRemote");
} catch (final ServiceUnavailableException e) {
System.out.println(e.getCause().getMessage());
System.out.println(messages.format("cmd.deploy.serverOffline"));
throw new SystemExitException(-1);
} catch (final NamingException e) {
System.out.println("openejb/DeployerBusinessRemote does not exist in server '" + serverUrl
+ "', check the server logs to ensure it exists and has not been removed.");
throw new SystemExitException(-2);
}
}
final boolean undeploy = line.hasOption("undeploy");
// We increment the exit code once for every failed deploy
int exitCode = 0;
for (final Object obj : line.getArgList()) {
final String path = (String) obj;
final File file = new File(path);
File destFile = new File(apps, file.getName());
try {
if (shouldUnpack(file)) {
final File unpacked = unpackedLocation(file, apps);
if (undeploy) {
undeploy(offline, unpacked, path, deployer);
}
destFile = unpack(file, unpacked);
} else {
if (undeploy) {
undeploy(offline, destFile, path, deployer);
}
checkDest(destFile, file);
copyFile(file, destFile);
}
if (offline) {
System.out.println(messages.format("cmd.deploy.offline", path, apps.getAbsolutePath()));
continue;
}
final String location;
try {
location = destFile.getCanonicalPath();
} catch (final IOException e) {
throw new OpenEJBException(messages.format("cmd.deploy.fileNotFound", path));
}
final AppInfo appInfo = deployer.deploy(location);
System.out.println(messages.format("cmd.deploy.successful", path, appInfo.path));
if (line.hasOption("quiet")) {
continue;