package org.mobicents.servlet.management.server.deploy; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.util.ArrayList; import org.mobicents.servlet.management.client.deploy.DeploymentService; import com.google.gwt.user.server.rpc.RemoteServiceServlet; public class DeploymentServiceImpl extends RemoteServiceServlet implements DeploymentService{ private static String[] appExtensions = {"war", "sar", "sar2", "ear"}; public void deploy(String application) { String serverHome = System.getProperty("jboss.server.home.dir"); String jbossHome = System.getProperty("jboss.home.dir"); String appToDeploy = jbossHome + "/examples/" + application; String deployFolder = serverHome + "/deploy/"; String targetFile = deployFolder + application; copyFile(appToDeploy, targetFile); } public String[] getApplications(String directory) { String serverHome = System.getProperty("jboss.server.home.dir"); String jbossHome = System.getProperty("jboss.home.dir"); String deployFolder = serverHome + "/deploy/"; String examplesFolder = jbossHome + "/examples/"; String folder = null; if(directory.equals("examples")) { folder = examplesFolder; } else { folder = deployFolder; } ArrayList<String> result = new ArrayList<String>(); File root = new File(folder); File[] files = root.listFiles(); if(files != null) { for(int q=0; q<files.length; q++) { File file = files[q]; String fileName = file.getName(); boolean isApp = false; for(String ext: appExtensions) { if(fileName.endsWith(ext)) { isApp = true; break; } } if(isApp) { result.add(fileName); } } } return result.toArray(new String[]{}); } private static boolean copyFile(String from, String to){ try { File f1 = new File(from); File f2 = new File(to); InputStream in = new FileInputStream(f1); OutputStream out = new FileOutputStream(f2); byte[] buf = new byte[10000]; int len; while ((len = in.read(buf)) > 0){ out.write(buf, 0, len); } in.close(); out.close(); } catch(Exception ex){ return false; } return true; } public boolean isJBoss() { String serverHome = System.getProperty("jboss.server.home.dir"); if(serverHome != null) return true; return false; } }