Example usage for org.eclipse.jface.dialogs MessageDialog openError

List of usage examples for org.eclipse.jface.dialogs MessageDialog openError

Introduction

In this page you can find the example usage for org.eclipse.jface.dialogs MessageDialog openError.

Prototype

public static void openError(Shell parent, String title, String message) 

Source Link

Document

Convenience method to open a standard error dialog.

Usage

From source file:com.apicloud.authentication.splashHandlers.APICloudSplashHandler.java

License:Open Source License

private boolean checkIp(String str) {

    if (str.isEmpty() || str.equals("www.apicloud.com")) {
        return true;
    }//w ww  .  ja v  a  2s.  c  o m

    String[] ipValue = str.split("\\.");
    if (ipValue.length != 4) {
        setEnabled(true);
        MessageDialog.openError(getSplash(), Messages.ApicloudSplashHandler_IP_VALIDATE_ERROR,
                Messages.ApicloudSplashHandler_IP_ERROR);
        return false;
    }
    for (int i = 0; i < ipValue.length; i++) {
        try {
            Integer q = Integer.valueOf(ipValue[i]);
            if (q > 255) {
                setEnabled(true);
                MessageDialog.openError(getSplash(), Messages.ApicloudSplashHandler_IP_VALIDATE_ERROR,
                        Messages.ApicloudSplashHandler_IP_ERROR);
                return false;
            }
        } catch (Exception e) {
            return false;
        }
    }
    return true;
}

From source file:com.apicloud.makepackage.ui.PackageAppItemDialog.java

License:Open Source License

protected void buttonPressed(int buttonId) {
    if (buttonId == 0) {
        if (!new File(path + File.separator + "icon" + File.separator + "icon150x150.png").exists()) {
            MessageDialog.openInformation(null, Messages.PackageAppItemDialog_INFO,
                    Messages.PackageAppItemDialog_MUST_BE_A_ICON);
            return;
        }//from  www. jav a  2s .  com
        if (!new File(path + File.separator + "launch" + File.separator + "launch1080x1920.png").exists()) {
            MessageDialog.openInformation(null, Messages.PackageAppItemDialog_INFO,
                    Messages.PackageAppItemDialog_MUST_BE_A_ICON);
            return;
        }
        if (!button_iphone.getSelection() && !button_android.getSelection()) {
            return;
        }
        test = IDEUtil.getInstallPath();
        java.io.File file = new java.io.File(test);
        ide_home = test;
        test = file.getParent() + File.separator;
        int i = 0;
        if (button_android.getSelection()) {
            i = i + 1;
        }
        if (button_iphone.getSelection()) {
            i = i + 2;
        }
        PackageJob job = new PackageJob(i, test, ide_home, path, id, appName, fullScreen);
        job.setUser(true);
        job.schedule();
        job.addJobChangeListener(new JobChangeAdapter() {
            public void done(IJobChangeEvent event) {
                if (event.getResult().isOK())
                    Display.getDefault().syncExec(new Runnable() {
                        public void run() {
                            MessageDialog.openInformation(null, Messages.PackageAppItemDialog_SUCESS,
                                    Messages.PackageAppItemDialog_PACKAGE_SUCESS);
                            openPackageFolder(test + File.separator + "package");
                        }
                    });
                else
                    Display.getDefault().syncExec(new Runnable() {
                        public void run() {
                            MessageDialog.openError(null, Messages.PackageAppItemDialog_EXCEPTION,
                                    Messages.PackageAppItemDialog_PACKAGE_FAIL);
                        }
                    });
            }
        });

        close();
        close();
    } else if (buttonId == 1) {
        close();
    }
}

From source file:com.apicloud.navigator.dialogs.CustomerLoaderDialog.java

License:Open Source License

private void compileLoader(String id) {
    String param = "";
    param = "appId=" + id + "&" + "loader=1";
    String message = NetWorkService.getInstance().addUnpack(id, param, ip);
    JSONObject json;//  w w w .j  av a2 s. c  o  m
    try {
        json = new JSONObject(message);
        String status = json.getString("status");
        if (status.equals("0")) {
            MessageDialog.openError(Display.getDefault().getActiveShell(), Messages.ERROR,
                    Messages.SERVICEBUSY);
        } else if (status.equals("error")) {
            MessageDialog.openError(Display.getDefault().getActiveShell(), Messages.ERROR,
                    Messages.COMPILEERROR);

        } else {
            String body;
            body = json.getString("body");
            JSONObject result = new JSONObject(body);
            pkgId = result.getString("pkgId");
            System.err.println(pkgId);
            compileAndDownloadAppLoader(id);
        }
    } catch (JSONException e) {
        e.printStackTrace();
    }
}

From source file:com.apicloud.navigator.dialogs.CustomerLoaderDialog.java

License:Open Source License

private void compileAndDownloadAppLoader(final String id) {

    job = new WorkspaceJob(Messages.CUSTOMERLOADER) {
        private String androidST;
        private String iosST;

        @Override//from w ww. j a v a  2 s .co  m
        public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException {
            monitor.beginTask("package Resource:", 101);
            monitor.setTaskName(Messages.LOADERPATH);
            int i = 0;
            try {
                while (true) {
                    if (monitor.isCanceled()) {
                        return close();
                    }
                    String message = network_instance.getLoaderState(pkgId, cookie, ip);
                    JSONObject json;
                    json = new JSONObject(message);
                    String status = json.getString("status");
                    if (status.equals("0")) {
                        final String errorStr = json.getString("msg");
                        Display.getDefault().asyncExec(new Runnable() {

                            @Override
                            public void run() {
                                MessageDialog.openError(Display.getCurrent().getActiveShell(), "\u5931\u8D25",
                                        errorStr);
                            }
                        });
                        return Status.CANCEL_STATUS;
                    } else {
                        String body = json.getString("body");
                        JSONObject result = new JSONObject(body);
                        androidST = result.getString("androidST");
                        iosST = result.getString("iosST");

                        if (androidST.equals("0") || iosST.equals("0")) {
                            monitor.subTask(Messages.UNPACKINFO);
                            if (i == 50) {
                                continue;
                            } else {
                                i++;
                                Thread.sleep(10000);
                                monitor.worked(1);
                            }
                        } else if (androidST.equals("7") || iosST.equals("7")) {

                            Display.getDefault().syncExec(new Runnable() {

                                @Override
                                public void run() {
                                    MessageDialog.openError(Display.getCurrent().getActiveShell(), "Error",
                                            Messages.COMMITTOCLOUD);

                                }
                            });
                            isTrue = false;
                            break;
                        } else if (androidST.equals("1") && iosST.equals("1")) {
                            android_log = result.getString("android_log");
                            ios_log = result.getString("ios_log");
                            String apkPath = result.getString("apkPath");
                            String ipaPath = result.getString("ipaPath");
                            apackageName = result.getString("packageName");
                            ipackageName = result.getString("iosAppIds");
                            version = result.getString("version");
                            if (i != 50) {
                                i++;
                                monitor.worked(1);
                                continue;
                            }
                            File file = new File(IDEUtil.getInstallPath() + "/apploader");
                            if (!file.exists()) {
                                file.mkdirs();
                            }
                            DownLoadUtil.downZip1(apkPath,
                                    IDEUtil.getInstallPath() + "/apploader/" + id + "/load.apk", // ?/apploder/appid/load.apk
                                    new SubProgressMonitor(monitor, 25));
                            DownLoadUtil.downZip1(ipaPath,
                                    IDEUtil.getInstallPath() + "/apploader/" + id + "/load.ipa",
                                    new SubProgressMonitor(monitor, 25));
                            saveApploaderInfo();
                            isTrue = true;
                            break;
                        } else {
                            Display.getDefault().asyncExec(new Runnable() {
                                @Override
                                public void run() {
                                    String androidMessage = compileInfo.get(androidST) == null ? ""
                                            : compileInfo.get(androidST);
                                    String iosMessage = compileInfo.get(iosST) == null ? ""
                                            : compileInfo.get(iosST);
                                    String message = androidMessage + iosMessage;
                                    if (message.equals("")) {
                                        message = Messages.UNKNOWERROR;
                                    }
                                    MessageDialog.openError(Display.getCurrent().getActiveShell(),
                                            Messages.ERROR, message + Messages.BROWSERERROR);
                                    if (!androidMessage.equals("")) {
                                        openErrorMessage(android_log);
                                    }
                                    if (!iosMessage.equals("")) {
                                        openErrorMessage(ios_log);
                                    }
                                }
                            });

                            return Status.CANCEL_STATUS;
                        }
                    }
                }
                monitor.worked(1);
                monitor.done();
            } catch (UnsupportedEncodingException e) {
                return closeAndShowMessage(Messages.SERVICEBUSY);
            } catch (JSONException e1) {
                return closeAndShowMessage(Messages.DATAANALYSISERROR);
            } catch (IOException e) {
                return closeAndShowMessage(Messages.SERVICEDATAERROR);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

            return Status.OK_STATUS;
        }

        private IStatus close() {
            return Status.CANCEL_STATUS;
        }

        private IStatus closeAndShowMessage(final String errorMessage) {
            return Status.CANCEL_STATUS;
        }
    };
    job.setUser(true);
    job.schedule();
    job.getState();

    job.addJobChangeListener(new JobChangeAdapter() {
        public void done(IJobChangeEvent event) {
            if (event.getResult().isOK() && isTrue)
                Display.getDefault().syncExec(new Runnable() {
                    public void run() {
                        MessageDialog.openInformation(null, Messages.PackageAppItemDialog_SUCESS,
                                Messages.COMPILESUCCESS);
                    }
                });
            else
                Display.getDefault().syncExec(new Runnable() {
                    public void run() {
                        MessageDialog.openError(null, Messages.PackageAppItemDialog_EXCEPTION,
                                Messages.COMPILERROR);
                    }
                });
        }
    });

}

From source file:com.apicloud.navigator.dialogs.PackageDialog.java

License:Open Source License

protected void buttonPressed(int buttonId) {
    if (buttonId == 0) {
        if (!new File(path + File.separator + "icon" + File.separator + "icon150x150.png").exists()) {
            MessageDialog.openInformation(null, Messages.AddFeatureDialog_INFORMATION,
                    Messages.PackageAppItemDialog_MUST_BE_A_ICON);
            return;
        }// ww w .j a va 2  s . c  om
        if (!new File(path + File.separator + "launch" + File.separator + "launch1080x1920.png").exists()) {
            MessageDialog.openInformation(null, Messages.AddFeatureDialog_INFORMATION,
                    Messages.PackageAppItemDialog_MUST_BE_B_ICON);
            return;
        }
        if (!button_iphone.getSelection() && !button_android.getSelection()) {
            return;
        }
        test = IDEUtil.getInstallPath();
        java.io.File file = new java.io.File(test);
        ide_home = test;
        test = file.getParent() + File.separator;
        int i = 0;
        if (button_android.getSelection()) {
            i = i + 1;
        }
        if (button_iphone.getSelection()) {
            i = i + 2;
        }
        PackageJob job = new PackageJob(i, test, ide_home, path, id, appName, fullScreen);
        job.setUser(true);
        job.schedule();
        job.addJobChangeListener(new JobChangeAdapter() {
            public void done(IJobChangeEvent event) {
                if (event.getResult().isOK())
                    Display.getDefault().syncExec(new Runnable() {
                        public void run() {
                            MessageDialog.openInformation(null, Messages.PackageAppItemDialog_SUCESS,
                                    Messages.PackageAppItemDialog_PACKAGE_SUCESS);
                            openPackageFolder(test + File.separator + "package");
                        }
                    });
                else
                    Display.getDefault().syncExec(new Runnable() {
                        public void run() {
                            MessageDialog.openError(null, Messages.PackageAppItemDialog_EXCEPTION,
                                    Messages.PackageAppItemDialog_PACKAGE_FAIL);
                        }
                    });
            }
        });

        close();
        close();
    } else if (buttonId == 1) {
        close();
    }
}

From source file:com.apicloud.navigator.ui.actions.CreateMoblePackageAction.java

License:Open Source License

public void run(IAction action) {
    Object obj = select.getFirstElement();
    CheckLoaderDialog loaderdialog = null;
    Bundle androidbundle = Platform.getBundle("com.apicloud.loader.platforms.android");
    Bundle iosbundle = Platform.getBundle("com.apicloud.loader.platforms.ios");

    CUSTOM_ANDROID_BASE = IDEUtil.getInstallPath() + "apploader/" + getID() + "/load.apk";
    File appaloaderFile = new File(CUSTOM_ANDROID_BASE);
    if (!appaloaderFile.exists()) {
        setHasANDROIDAppLoader(false);/*w  ww.  j a v  a2 s  . c o  m*/
    } else {
        setHasANDROIDAppLoader(true);
    }

    CuSTOm_IOSROID_BASE = IDEUtil.getInstallPath() + "apploader/" + getID() + "/load.ipa";
    File appiloaderFile = new File(CuSTOm_IOSROID_BASE);
    if (!appiloaderFile.exists()) {
        setHasIOSAppLoader(false);
    } else {
        setHasIOSAppLoader(true);
    }

    if (androidbundle.getResource("base/load.apk") == null) {
        setHasANDROIDBaseLoader(false);
    } else {
        setHasANDROIDBaseLoader(true);
    }
    if (iosbundle.getResource("base/load.ipa") == null) {
        setHasIOSBaseLoader(false);
    } else {
        setHasIOSBaseLoader(true);
    }

    if (hasANDROIDLoader() || hasIOSLoader()) {
        if (hasANDROIDLoader() && hasIOSLoader()) {
            loaderdialog = new CheckLoaderDialog(Display.getCurrent().getActiveShell(), ALLLOADER, select);
        } else if (hasANDROIDLoader() && (!hasIOSLoader())) {
            loaderdialog = new CheckLoaderDialog(Display.getCurrent().getActiveShell(), ALOADER, select);
        } else {
            loaderdialog = new CheckLoaderDialog(Display.getCurrent().getActiveShell(), ILOADER, select);
        }

        loaderdialog.open();
        return;
    }

    try {
        IResource resource = (IResource) obj;
        path = resource.getLocation().toOSString();
        try {
            File fileToRead = new File(path + File.separator + "config.xml");
            Config config = Config.loadXml(new FileInputStream(fileToRead));
            String fullScreen = "false";
            for (Preference preference : config.getPreferences()) {
                if (preference.getName().equals("fullScreen")) {
                    fullScreen = preference.getValue();
                }
            }
            PackageDialog dialog = new PackageDialog(
                    PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), config.getName(),
                    config.getId(), path, config.getName(), fullScreen);
            dialog.open();
        } catch (Exception e) {
            MessageDialog.openError(null, Messages.PATHERROR, Messages.CONFIGINFO);
            e.printStackTrace();
        }
    } catch (ClassCastException e) {
        e.printStackTrace();
    }
}

From source file:com.apicloud.navigator.ui.actions.CustomLoader.java

License:Open Source License

@Override
public void run(IAction action) {
    IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
    projects = FilterProject(projects);/*from w w  w.  ja va2 s . co  m*/
    if (projects.length == 0) {
        MessageDialog.openError(null, Messages.AddFeatureDialog_INFORMATION, Messages.CREATEAPP);
        return;

    } else if (projects.length == 1) {
        Object obj = projects[0];

        IResource resource = (IResource) obj;
        // String name=resource.getFullPath().toString().substring(1);
        path = resource.getLocation().toOSString();

        File fileToRead = new File(path + File.separator + "config.xml");
        try {
            Config config = Config.loadXml(new FileInputStream(fileToRead));
            id = config.getId();

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        initInfo();
        compileLoader(id);

    } else {
        CustomerLoaderDialog dialog = new CustomerLoaderDialog(
                PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), projects);
        dialog.open();
    }
}

From source file:com.apicloud.navigator.ui.actions.CustomLoader.java

License:Open Source License

public void compileLoader(String id) {
    String message = com.apicloud.navigator.Activator.network_instance.addUnpack(id, cookie, ip);
    JSONObject json;//from   w  w  w. j  a va  2  s  .co m
    try {
        json = new JSONObject(message);
        String status = json.getString("status");
        if (status.equals("0")) {
            MessageDialog.openError(Display.getDefault().getActiveShell(), Messages.ERROR,
                    Messages.SERVICEBUSY);
        } else if (status.equals("error")) {
            MessageDialog.openError(Display.getDefault().getActiveShell(), Messages.ERROR,
                    Messages.COMPILEERROR);
        } else {
            String body;
            body = json.getString("body");
            JSONObject result = new JSONObject(body);
            pkgId = result.getString("pkgId");
            System.err.println(pkgId);
            compileAndDownloadAppLoader(id);
        }
    } catch (JSONException e) {
        e.printStackTrace();
    }
}

From source file:com.apicloud.navigator.ui.actions.CustomLoader.java

License:Open Source License

private void compileAndDownloadAppLoader(final String id) {
    job = new WorkspaceJob(Messages.CUSTOMERLOADER) {
        private String androidST;
        private String iosST;

        @Override/*from ww w .jav  a  2 s.c o m*/
        public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException {
            monitor.beginTask("package Resource:", 101);
            monitor.setTaskName(Messages.LOADERPATH);
            int i = 0;
            try {
                while (true) {
                    if (monitor.isCanceled()) {
                        return close();
                    }
                    String message = ConnectionUtil.sendPostRequest("http://" + ip + "/getLoaderState",
                            "pkgId=" + URLEncoder.encode(pkgId, "UTF-8"), cookie);
                    JSONObject json;
                    json = new JSONObject(message);
                    String status = json.getString("status");
                    if (status.equals("0")) {
                        final String errorStr = json.getString("msg");
                        Display.getDefault().asyncExec(new Runnable() {

                            @Override
                            public void run() {
                                MessageDialog.openError(Display.getCurrent().getActiveShell(), Messages.ERROR,
                                        errorStr);
                            }
                        });
                        return Status.CANCEL_STATUS;
                    } else {
                        String body = json.getString("body");
                        JSONObject result = new JSONObject(body);
                        androidST = result.getString("androidST");
                        iosST = result.getString("iosST");

                        if (androidST.equals("0") || iosST.equals("0")) {
                            monitor.subTask(Messages.COMPILEREADY);
                            if (i == 50) {
                                continue;
                            } else {
                                i++;
                                Thread.sleep(1000);
                                monitor.worked(1);
                            }
                        } else if (androidST.equals("7") || iosST.equals("7")) {

                            Display.getDefault().syncExec(new Runnable() {

                                @Override
                                public void run() {
                                    MessageDialog.openError(Display.getCurrent().getActiveShell(), "Error",
                                            Messages.COMMITTOCLOUD);

                                }
                            });
                            isTrue = false;
                            break;
                        } else if (androidST.equals("1") && iosST.equals("1")) {
                            monitor.subTask(Messages.STARTTOCOMPILE);
                            android_log = result.getString("android_log");
                            ios_log = result.getString("ios_log");
                            String apkPath = result.getString("apkPath");
                            String ipaPath = result.getString("ipaPath");
                            apackageName = result.getString("packageName");
                            ipackageName = result.getString("iosAppIds");
                            version = result.getString("version");
                            if (i != 50) {
                                i++;
                                monitor.worked(1);
                                continue;
                            }
                            File file = new File(IDEUtil.getInstallPath() + "/apploader");
                            if (!file.exists()) {
                                file.mkdirs();
                            }
                            String apkpath = IDEUtil.getInstallPath() + "/apploader/" + id + "/load.apk";
                            File loaderFile = new File(apkpath);
                            if (loaderFile.exists()) {
                                //                        FileUtil.deleteFile(path);
                                apkpath = IDEUtil.getInstallPath() + "/apploadertemp/" + id + "/load.apk";
                            }
                            monitor.subTask(Messages.ANDROIDDOWNLOAD);
                            DownLoadUtil.downZip1(apkPath, apkpath, // ?/apploder/appid/load.apk
                                    new SubProgressMonitor(monitor, 25));
                            monitor.subTask("\u4E0B\u8F7DIOS Loader\u4E2D...");
                            String ipapath = IDEUtil.getInstallPath() + "/apploader/" + id + "/load.ipa";
                            File ipafile = new File(
                                    IDEUtil.getInstallPath() + "/apploader/" + id + "/load.ipa");
                            if (ipafile.exists()) {
                                //                           FileUtil.deleteFile(path);
                                ipapath = IDEUtil.getInstallPath() + "/apploadertemp/" + id + "/load.ipa";
                            }

                            DownLoadUtil.downZip1(ipaPath, ipapath, new SubProgressMonitor(monitor, 25));
                            String tempapkfilePath = IDEUtil.getInstallPath() + "/apploadertemp/" + id
                                    + "/load.apk";
                            String sourceapkPath = IDEUtil.getInstallPath() + "/apploader/" + id + "/load.apk";
                            String tempipafilePath = IDEUtil.getInstallPath() + "/apploadertemp/" + id
                                    + "/load.apk";
                            String sourceipaPath = IDEUtil.getInstallPath() + "/apploader/" + id + "/load.apk";
                            String tempfolder = IDEUtil.getInstallPath() + "/apploadertemp";
                            File tempapkFile = new File(tempapkfilePath);
                            File tempipaFile = new File(tempipafilePath);
                            if (tempapkFile.exists() || tempipaFile.exists()) {
                                FileUtil.deleteFile(sourceapkPath);
                                FileUtil.copyFile(tempapkfilePath, sourceapkPath);
                                FileUtil.deleteFile(sourceipaPath);
                                FileUtil.copyFile(tempipafilePath, sourceipaPath);

                                FileUtil.deleteDirectory(tempfolder);
                            }
                            saveApploaderInfo(id);
                            isTrue = true;
                            break;
                        } else {
                            Display.getDefault().asyncExec(new Runnable() {
                                @Override
                                public void run() {
                                    String androidMessage = compileInfo.get(androidST) == null ? ""
                                            : compileInfo.get(androidST);
                                    String iosMessage = compileInfo.get(iosST) == null ? ""
                                            : compileInfo.get(iosST);
                                    String message = androidMessage + iosMessage;
                                    if (message.equals("")) {
                                        message = Messages.UNKNOWERROR;
                                    }
                                    if (!androidMessage.equals("")) {
                                        openErrorMessage(android_log);
                                    }
                                    if (!iosMessage.equals("")) {
                                        openErrorMessage(ios_log);
                                    }
                                }
                            });

                            return Status.CANCEL_STATUS;
                        }
                    }
                }
                monitor.worked(1);
                monitor.done();
            } catch (UnsupportedEncodingException e) {
                return closeAndShowMessage(Messages.SERVICEBUSY);
            } catch (JSONException e1) {
                return closeAndShowMessage(Messages.DATAANALYSISERROR);
            } catch (IOException e) {
                return closeAndShowMessage(Messages.SERVICEDATAERROR);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

            return Status.OK_STATUS;
        }

        private IStatus close() {

            return Status.CANCEL_STATUS;
        }

        private IStatus closeAndShowMessage(final String errorMessage) {
            return Status.CANCEL_STATUS;
        }
    };
    job.setUser(true);
    job.schedule();
    job.getState();

    job.addJobChangeListener(new JobChangeAdapter() {
        public void done(IJobChangeEvent event) {
            if (event.getResult().isOK() && isTrue)
                Display.getDefault().syncExec(new Runnable() {
                    public void run() {
                        MessageDialog.openInformation(null, Messages.PackageAppItemDialog_SUCESS,
                                Messages.CUSTOMERSUCCESS);
                    }
                });
            else
                Display.getDefault().syncExec(new Runnable() {
                    public void run() {
                        MessageDialog.openError(null, Messages.PackageAppItemDialog_EXCEPTION,
                                Messages.COMPILEFAILURE);
                    }
                });
        }
    });

}

From source file:com.apicloud.navigator.ui.actions.RunAsAppFormMobile.java

License:Open Source License

@SuppressWarnings({ "rawtypes", "unchecked" })
@Override/* w  w  w .  j  a v a  2  s .co m*/
public void run(IAction action) {

    AndroidDevice.connectedDevices.clear();
    List<AndroidDevice> aMobiles = new ArrayList<AndroidDevice>();
    List<IOSDevice> iMobiles = new ArrayList<IOSDevice>();
    try {
        ADBService.getADBService().findDevices();

    } catch (ADBException e1) {
        e1.printStackTrace();
    }
    HashMap<String, AndroidDevice> adeviceMap = AndroidDevice.connectedDevices;
    HashMap<String, IOSDevice> ideviceMap = IOSDevice.connectedDevices;
    if (adeviceMap.isEmpty() && adeviceMap.size() <= 0 && ideviceMap.isEmpty() && ideviceMap.size() <= 0) {
        DeviceNotFoundDialog dialog = new DeviceNotFoundDialog(Display.getDefault().getActiveShell());
        dialog.open();
        return;
    } else {

        Iterator aiterator = adeviceMap.entrySet().iterator();
        while (aiterator.hasNext()) {
            Map.Entry<String, AndroidDevice> entry = (Entry<String, AndroidDevice>) aiterator.next();
            aMobiles.add(entry.getValue());
        }

        Iterator iterator = ideviceMap.entrySet().iterator();
        while (iterator.hasNext()) {
            Map.Entry<String, IOSDevice> entry = (Entry<String, IOSDevice>) iterator.next();
            iMobiles.add(entry.getValue());
        }

        IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
        projects = FilterProject(projects);
        if (projects.length == 0) {
            MessageDialog.openError(null, Messages.AddFeatureDialog_INFORMATION, Messages.CREATEAPP);
            return;

        } else if (projects.length == 1) {
            obj = projects[0];
            if (validate(getID(obj))) {
                final SyncApplicationDialog sad = new SyncApplicationDialog(
                        Display.getDefault().getActiveShell(), aMobiles, iMobiles, obj);
                final CountDownLatch threadSignal = new CountDownLatch(aMobiles.size() + iMobiles.size());
                sad.open();
                sad.run(threadSignal);
                Job job = new WorkspaceJob("") {
                    @Override
                    public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException {
                        try {
                            threadSignal.await();
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }
                        sad.finish();
                        return Status.OK_STATUS;
                    }
                };
                job.schedule();
                return;
            }

        } else {
            RunMobileDialog dialog = new RunMobileDialog(
                    PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), projects, aMobiles,
                    iMobiles);
            dialog.open();
        }
    }
}