public void deploy(){
        if (!IArchitecture.isOpen() || IArchitecture.instance().getISubArchitectures().isEmpty()){
            return;
        }
        if ("".equals(Properties.instance().getDeployPath().trim())){
            File directory = chooseFolder();
            if (directory == null) return;
            Properties.instance().setDeployPath(directory.getAbsolutePath());
        }
        Deployer deployer = new Deployer();
        long ini = System.currentTimeMillis();
        boolean deployOk = deployer.deploy();
        long end = System.currentTimeMillis();
        System.out.println((end-ini));
        
        if(deployOk) {
        	File dir = new File(Properties.instance().getDeployPath());
        	File zipFile = new File(dir, "deployPlan.zip");
        	Zipper zipper = new Zipper();
        	File[] files = dir.listFiles(new FileFilter() {				
				@Override
				public boolean accept(File file) {					
					return file.getName().equals("plan.xml")
							|| file.getName().equals("data.xml");
				}
			});
        	try {
				zipper.zip(files, zipFile);
				Uploader uploader = new Uploader(zipFile);
	        	deployOk = uploader.upload();
			} catch (IOException e) {				
				e.printStackTrace();
				deployOk = false;
			}        	
        }
        
        if (deployOk) {
            JOptionPane.showMessageDialog(null, "Deploy Realizado com Sucesso!");
        } else {
            JOptionPane.showMessageDialog(null, "Erro ao executar Deploy!", "Information", JOptionPane.ERROR_MESSAGE);
        }      
    }